* AccessType.READ_WRITE is now supported cache concurrency strategy
* Added checks that we're caching in local or invalidation cache (distributed and replicated cache does not work ATM)
* Refactored test-suite: Running on both transactional and read-write caches (these should yield the same results)
** CustomParemeterized runner is used for that
** Moved all entities used in functional tests to one package
** Removed already disabled tests related to class loaders (not needed since Infinispan 5.1)
(cherry picked from commit 3689924d74)
* ISPN-5609 changed InvalidateCommand constructors: used reflection to work around that; now should work with 8.0.0.CR1
* renamed BeginInvalidationCommand.getLockOwner to getSessionTransactionId() to prevent further conflicts
* added commands tests
(cherry picked from commit 64137c3619)
* The write can only invalidate (remove) the entry and block further PFERs of that entry
* After successful DB update, if there have not been any concurrent updates the value can be PFERed into the cache
* Also removed put() instead of PFER() after region invalidation
* Relaxed test that required that session.load() after cache.evictAll() in the same transaction cached the loaded entity
* invalidation blocks putFromLoads until the transaction with invalidation
is committed
* rewritten the naked puts support: timestamp is stored in the pendingPutMap
and removal of the record relies on pending puts' idle expiration or
piggy-backs on release from putFromLoad
* Moved query cache update to second phase of transaction commit
* Query caches are now recommended to be non-transactional (transactional ones will be slower)
* When multi-tenancy is not used, entity's @Id can be used as key to the cache
* Added Type to CacheDataDescription (in SPI), later used for container key equivalence
* Introduced CacheKeysFactory to SPI
* Pending puts cache is now per region - this is necessary as we need to use custom key equivalence
* By default Cache.size() is now cluster-wide and hence to calculate
elementCountInMemory, local flag needs to be passed in (as well as
skip cache load in case there's a remote store plugged into it).
* The upgrade caused some tests that verified number of cached elements
in memory to fail. The cause for this was the change in clear()
operation which now is non-transactional, hence each element needs to
be removed individually.