Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-2192

Allow using Distributed Execution against any cache (not just clustered caches)

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      It is often desirable to process all entries in a cache, and there is no reliable and consistent way to do that for any cache.

      If a cache is clustered, then map-reduce can be used (although IIUC it currently doesn't guarantee to process non-materialized entries for caches that have a cache store) and distributed execution can be used (IIUC this will be called for all keys owned by the cluster node). However, neither of these work on local caches.

      If a cache is local and there is no cache store, then apparently keySet() does work and allows a client to iterate over the keys in the local cache. However, if the local cache is configured to have a cache store, then the keySet() method will return only the keys for the materialized entries and does not return all of the keys in the cache. Of course, if a local cache does have a cache store, then its possible to obtain the keys using CacheLoader.loadAllKeys(...) (obviously this is probably not something a client should do).

      In short, it should be possible to use Distributed Execution against any cache, regardless of its configuration. (Ideally, it would be possible for Map-Reduce to also be used against any cache.)

              vblagoje Vladimir Blagojevic (Inactive)
              rhauch Randall Hauch (Inactive)
              Archiver:
              rhn-support-adongare Amol Dongare

                Created:
                Updated:
                Resolved:
                Archived: