I'm evaluating infinispan for a new project and wanted to understand a couple of items. I'm having trouble finding out answers to these questions on the user guide and forums.
- In embedded mode, say I have 5 nodes, and one node is picking things up on a jms queue and saving to cache. I understand that when this item goes into the cache, infinispan will use a hashing algorithm to decide which nodes to store it in. Will the initial jms node also always keep it in memory (until expired or evicted)? Or will only the nodes that get selectd by the hashing algorithm have the object in local memory?
- when searching using lucene, do I need to always pre-flag the properties of an object by which I want to search? I know you can flag them, but is this only for indexing to make a search quicker, or does the search actually require the properties be flagged?
- also when searching, suppose I have an an object in the cache that has a hash of values. Can I search for keys (or values for that matter) in this hash using lucene or some other fast search means?
- suppose I have an application deployed on a number of nodes, and they are all registered as Listeners for cache entry events. Is there a way to make infinispan send the signal event to only a single Listener (perhaps one that does not have much load on the node, and/or has the cache entry locally).
- Suppose I have a single node listening for events, in asynchronous mode (so that the caller does NOT block until the Listener has finished processing). The event must get delegated to a separate thread by Infinispan under the hood. Are events on this Listener put on some sort of internal queue? Are there multiple threads that get delegated to? Is this configurable (when not using Jboss)? For example, if a cache entry Listener has not finished processing an event while something else is put into the cache, what happens to this event? Does another thread pick it up? Is it put in an internal queue? Is order maintained?
- Is it possible to use file store on separate hosts without a shared file system? does it make sense to do this? Or should be file store be shared among all nodes?
thanks in advance!