After looking at the CacheFlag API, I see the following flags: *SKIP_STORE* I think in JCache you can already accomplish this fine-grained behavior by configuring either CacheLoader or CacheWriter, or both of them. Looks like this flag is not needed.
*SKIP_SWAP* I don't think we need this behavior at all. *GET_PRIMARY* This should be moved to cache configuration and named IgniteCacheConfiguration.isReadFromBackup(). The ticket has been filed: IGNITE-105 <https://issues.apache.org/jira/browse/IGNITE-105> *SYNC_COMMIT* We already have way to do it from configuration via WriteSynchronizationMode, no need to have it on the flag. *INVALIDATE* Can be done through configuration already, no need for a flag. *FORCE_TRANSFORM_BACKUP* This flag was added because we are sending full values to backup nodes instead of the transform() ,now "invoke(...)", closure, which creates additional traffic. This should be fixed by processing requests in thread-per-partition mode. Let's remove it for now. I filed a separate ticket about it: IGNITE-104 <https://issues.apache.org/jira/browse/IGNITE-104> So, all in all, looks like with minimal work we can get rid of CacheFlag enumeration. D. On Mon, Jan 19, 2015 at 1:03 AM, Semyon Boikov <[email protected]> wrote: > Now in GridCache we have 'cache flag' notion - this is some option which > can be set per cache operation, for example 'SKIP_STORE' flag - flag for > skipping read-through and write-through behavior (see enum > org.gridgain.grid.cache.GridCacheFlag). > > For IgniteCache API I propose to review flags functionality, get rid of > functionality which was never needed (e.g. CLONE flag) and move options for > remaining functionality to cache configuration, so that we can completely > get rid of GridCacheFlag. What do you think? >
