Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: infinispan/infinispan
head fork: infinispan/infinispan
This comparison is big! We’re only showing the most recent 250 commits
Commits on May 20, 2015
@galderz galderz ISPN-5490 Implement async store clearing 798c7a5
@wburns wburns ISPN-5489 Remove redundant jdk 8 backport classes 7f92efc
@wburns wburns ISPN-4133 DistSyncL1FuncTest testNonOwnerRetrievesValueFromBackupOwner..

* Test was fixed before in ISPN-4231
@wburns wburns ISPN-5449 java.lang.ClassCastException: [B cannot be cast to

* Added test to reproduce issue
Commits on May 21, 2015
@galderz galderz ISPN-5488 Execute one more test operation to guarantee topology update fe18c5b
Commits on May 22, 2015
@mcimbora mcimbora ISPN-5338 Extend JSR-107 tests ff3a0c2
@danberindei danberindei ISPN-5471 ConditionalOperationsConcurrentWriteSkewTest random failures
Replace the CountDownLatches with ReclosableLatches and make them final.
@danberindei danberindei ISPN-5492 DelayedAvailabilityUpdateTest.testDelayedAvailabilityUpdate…
…2 random failures
@anistor anistor ISPN-5389 Optimize overlapping range and interval predicates (non-ind…
…exed query)

* no optimizations are applied to repeated predicates
@anistor anistor ISPN-5501 Camel throwing java.lang.LinkageError for Remote Query when…
… running in EAP
@galderz galderz ISPN-5477 Too agressive unboxing leading to wrong L1 returns
* Unboxing of entries for external client consumption should only
happen when commands are local, since remote commands come from
internal clustering.
@tristantarrant tristantarrant ISPN-5503 Inject the codename into from the POM properties 68b87fb
@mcimbora mcimbora Improve StateTransferLockImpl.waitForTransactionData logging 0323db1
@danberindei danberindei ISPN-5494 Node replies with NullPointerException during shutdown
Replace the exception with a CacheNotFoundResponse
Commits on May 25, 2015
@danberindei danberindei ISPN-5473 toString improvements 95b40a3
@danberindei danberindei ISPN-5473 Fix TestingUtil.clearContent for secure caches and cache ma…
@danberindei danberindei ISPN-5473 Replace Exception.printStackTrace with proper logging 907b274
@danberindei danberindei ISPN-5473 Replace System.out.println with logging 79f3471
@danberindei danberindei ISPN-5473 Avoid rollback exceptions during cleanup 0188e56
@danberindei danberindei ISPN-5473 Include the test name in the thread name in SingleFilsStore…
@danberindei danberindei ISPN-3142 Re-enable RehashAfterPartitionMergeTest
The test was fixed with ISPN-2577
@danberindei danberindei ISPN-2752 IllegalStateException on shutdown 62629ab
@danberindei danberindei ISPN-5480 Speed up xsite tests
* Stop cache managers in reverse order to avoid JGRP-1927
* Make eventually() use a poll interval of 500ms regardless of timeout
@wburns wburns ISPN-5345 Allow eviction for based on approximation of size compared to
element count

* Added in size calculation for byte[] key/value pairs with LRU
@tristantarrant tristantarrant ISPN-2939 Remove async marshalling f55d8f8
@tsykora tsykora ISPN-5500 direct init of tmpDirs in LevelDB tests, removed @BeforeClass 9de7d8e
@galderz galderz ISPN-5477 When entry comes from L1, mark it as remotely fetched 42c5bf0
@anistor anistor ISPN-5165 Cannot choose to run index-less query on an indexed cache ee84aff
@anistor anistor ISPN-5165 Cannot choose to run index-less query on an indexed cache 4411b70
@anistor anistor ISPN-5165 Cannot choose to run index-less query on an indexed cache 21ed5f7
Commits on May 26, 2015
@galderz galderz ISPN-5477 Only unbox compatibility returns when operations are local
* Added handling of exceptions when responses are being written.
By doing so, ClassCastExceptions that were happening are uncovered,
logged and corresponding errors are sent back instead of waiting
for socket timeouts.
* Eliminate operation retries were not necessary to make socket
timeouts appear more quickly if something hangs.
@rhusar rhusar ISPN-5483 JGroupsTransport.waitForChannelToConnect() never waits
format fix
@rhusar rhusar ISPN-5483 ClusterTopologyManagerImpl.fetchRebalancingStatusFromCoordi…
…nator() is susceptible to NPE

logging volatility fix
@danberindei danberindei ISPN-5508 Fix test names f1e6140
Commits on May 27, 2015
@danberindei danberindei ISPN-3924 NonTxPutIfAbsentDuringLeaveStressTest is no longer failing
Fixed with ISPN-5494
@tristantarrant tristantarrant ISPN-5438 Filter out example jgroups configurations from uber jar 87996b0
@anistor anistor ISPN-5463 ClassCastException: org.infinispan.query.remote.indexing.Pr…
…otobufValueWrapper cannot be cast to [B
Commits on May 28, 2015
@anistor anistor ISPN-5463 ClassCastException: org.infinispan.query.remote.indexing.Pr…
…otobufValueWrapper cannot be cast to [B
Commits on Jun 01, 2015
@anistor anistor ISPN-4123 Remote Query tests random failures
* LifecycleManager of query module needs to load ProgrammaticSearchMappingProviders defined by remote-query-server module.
  Since the implementation uses the thread context classloader, which in this case is the one from module, this works fine with current module dependecies.
  Sometimes it appears the context classloader is the one of module org.infinispan.server.endpoint and then it fails. To fix this we need to add org.infinispan.remote-query.server as a dependecy to this module too.
* QueryFacadeImpl must use SearchManager.getQuery(..) instead of directly using;
  not doing so can lead to failure because the target class was not yet enabled via QueryInterceptor.enableClasses()
* Indexed caches should depend on the cluster registry cache to ensure proper stop order
* Guard against nulls returned by ReadIntensiveClusterRegistryWrapper.get()
* SearchFactoryHandler.filterAlreadyIndexed() creates an empty array most of the time so it's best to inline it and return early if there are no classes to add
* Remove unused methods SearchFactoryHandler.getSearchFactory() and SearchFactoryHandler.getWorker()
Commits on Jun 04, 2015
@galderz galderz ISPN-5444 Filter/converters can work with custom classes
* For custom classes to work fine with remote filter/converter classes,
they need to be deployed in the same JAR along with the filter and/or
converter classes.
@anistor anistor ISPN-5519 Cannot choose to run index-less query on an indexed cache i…
…n compat mode
@anistor anistor Add a simple perf test for remote query 8f8ec97
Commits on Jun 05, 2015
@Sanne Sanne ISPN-5442 Integration tests for Lucene Directory need an H2 database …
…available to multiple nodes
@Sanne Sanne ISPN-5339 Automatically inject the right module versions even when ru…
…nning tests in IDE
@tristantarrant tristantarrant ISPN-5398 Test modules with WildFly 9.0.0.CR1 0bb91bf
@Sanne Sanne ISPN-5398 Remove configuration elements which are not compatible with…
… WildFly 9
@Sanne Sanne ISPN-5398 Remove redundant queue: the HornetQ configuration is alrady…
… defined by the deployment
@Sanne Sanne ISPN-5398 The module location for 2lc changed in WildFly 9 to improve…
… isolation
@gustavonalle gustavonalle ISPN-5398 Remove legacy threads subsystem 7234489
Commits on Jun 08, 2015
@gustavonalle gustavonalle ISPN-5440 Update to Hibernate Search 5.3.0.CR1 and HQL Parser 1.2.0.F…
@gustavonalle gustavonalle ISPN-5441 SearchableConfiguration no longer needs to override the res…
…olution names for DirectoryProviders
Commits on Jun 09, 2015
@wburns wburns ISPN-5509 Memory based eviction doesn't work with store as binary
* Added support for primitives, arrays and String size calculation
* Added support for MarshalledValue when using store as binary
@danberindei danberindei ISPN-2154 Use anycast instead of FutureCollator 18f3b03
@fharms fharms ISPN-5457 Infinispan with Wildfly 8.2 random fails using customized k…
@wburns wburns ISPN-5522 LIRS BoundedConcurrentHashMapv8 eviction for tree bin missing

* Added in null check
* Adding a test is extremely difficult, please see JIRA for info
@danberindei danberindei ISPN-5524 Race condition in SemaphoreCompletionService.executeFront() be78b22
@tristantarrant tristantarrant ISPN-5527 Perform property replacement for the leveldb expiration path 9a98325
Commits on Jun 11, 2015
@galderz galderz ISPN-5505 Update failed servers if getting lifecycle exceptions 2cf4a17
@gustavonalle gustavonalle ISPN-5540 Upgrade to Hibernate Search 5.3.0.Final 1567556
@danberindei danberindei ISPN-5539 IllegalLifecycleStateException on a remote node should not …
…be sent to the originator
@wburns wburns ISPN-5531 java.lang.UnsupportedOperationException during remove (using

* Batching event manager clears events on exception
* Distributed executor service now returns SuspectException
Commits on Jun 12, 2015
@gustavonalle gustavonalle ISPN-5531 Fixed compilation problem 001c1e5
@tristantarrant tristantarrant ISPN-5033 Allow undefining configurations bb9885c
@danberindei danberindei ISPN-5529 ClusterListenerReplTest.testPrimaryOwnerGoesDownAfterBackup…
…RaisesEvent random failures

Wait for the command to be replicated to both backups
@danberindei danberindei ISPN-5459 StateTransferManager.waitForInitialTransferToComplete can f…
…ail if the coordinator crashes
Commits on Jun 13, 2015
@anistor anistor Remove unwanted object creation 5f6f66d
Commits on Jun 15, 2015
@mvdobrinin mvdobrinin ISPN-5543 Fixed bad arguments to tracef log calls. b13dbee
@danberindei danberindei ISPN-5484 Phase 1: CompletableFuture-based CommandAwareRpcDispatcher …
…and JGroupsTransport

* Remove deprecated methods
* Make CommandAwareRpcDispatcher.processSingleCall async
* Make CommandAwareRpcDispatcher.processCalls(single command) async
* Remove deprecated/unused methods
* Remove CARD.processCalls(Map) and CARD.invokeRemoteCommands(Map)
* Use Rsp<Response> to check responses instead of relying on JGroups' exceptions
* Implement invokeRemotely(ReplicableCommand) with CompletableFuture
* Remove the separate processCalls(Map) implementation for invokeRemotely(Map)
* Handle null GroupRequest
* Handle timeout <= 0
* Unify Rsp checking for unicast/broadcast/anycast and fix tests
* Towards unified handling of wasSuspected and CNFR
* Introduce JGT.invokeRemotelyAsync
* Implement timeout in CommandAwareRpcDispatcher with the replication
  queue executor
* No more asyncTransportExecutor in JGroupsTransport
@danberindei danberindei ISPN-5485 Phase 2: CompletableFuture-based RpcManagerImpl
* Remove deprecated RpcManager methods

* Implement RpcManagerImpl.invokeRemotelyAsync
@danberindei danberindei ISPN-5484 Phase 3: Use invokeRemotelyAsync instead of invokeRemotelyW…

* Distributed executor
* Map/reduce
* L1 invalidation
* Cache.getAll
* ClusterTopologyManagerImpl.executeOnClusterSync
* X-site
@gustavonalle gustavonalle ISPN-5546 Re-enabled OSGi integration tests 6a027a5
@danberindei danberindei ISPN-5518 Introduce a separate thread pool for async cache operations 44769ea
@danberindei danberindei ISPN-5518 Reduce the number of async and state transfer threads in th…
…e test suite

Also reduce the size of JGroups' regular thread pool
Commits on Jun 16, 2015
@danberindei danberindei ISPN-5534 CreateCacheCommand doesn't properly wait for the cache to s…

* Fix the wait condition
* Use StateTransferLock.waitForTopology() instead of Thread.sleep()
* Use the StateTransferManager of the created cache
@gustavonalle gustavonalle ISPN-5219 Expose Distributed Iterators over HotRod 4cbbc3a
@wburns wburns 8.0 Version Bump c1bb697
Commits on Jun 18, 2015
@pruivo pruivo ISPN-5046 PartitionHandling: split during commit can leave the cache …
…inconsistent after merge

* keep the transaction resources while the partition is not healed.
* when the merge happens, complete the pending transactions.
@galderz galderz ISPN-5544 Deprecate eager near cache mode
* Deprecate eager near caching.
* Rename LAZY near cache mode to INVALIDATED.
@danberindei danberindei ISPN-5558 DistributedTaskPart.equals() implementation is wrong
Remove the equals() and hashCode() implementations
@gustavonalle gustavonalle ISPN-5565 Memory leak in Hot Rod client tests 47b709d
@gustavonalle gustavonalle ISPN-5554 Remote Iterator] Entries not being filtered for empty Set o…
…f segments or empty filter factory
Commits on Jun 19, 2015
@wburns wburns ISPN-5560 NotSerializableException for invalidation-cache
* Disabled initial transfer when not REPL or DIST
@wburns wburns ISPN-5566 Listener Observation is not obeyed for non CacheEntryEvents 8228dfc
@tristantarrant tristantarrant Update mojo link 5e949d8
Commits on Jun 22, 2015
@tristantarrant tristantarrant ISPN-5536 Base Server onto WildFly 9.0.0.CR2 using feature packs f7cee30
Commits on Jun 23, 2015
@rvansa rvansa ISPN-5542 Shorten interceptor stack for local caches
* Option to remove CacheMgmtInterceptor from the stack
@rvansa rvansa ISPN-5542 Shorten interceptor stack for local caches
* option to remove NotifyingInterceptor, automatically for non-tx caches
@kblees kblees SampleConfigFilesCorrectnessTest: fix StringIndexOutOfBoundsException…
… on Windows

A single backslash doesn't work as regular expression replacement string.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5559 AsyncStoreTest: expose "AsyncCacheWriter is dead!" bug
This exposes the "AsyncCacheWriter is dead!" bug reported on the forums and
the mailing list.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5559 AsyncCacheWriter: don't use timeouts when waiting for Async…

This reverts commit 5981964 "ISPN-2476 Worker threads latch awaits should
be timed"

This fixes the "AsyncCacheWriter is dead!" bug reported on the forum [1]
and mailing list [2].

With assertions disabled, waiting with timeout causes deadlock, because the
coordinator thread exits with AssertionError and thus can no longer process

With assertions enabled, waiting with timeout causes unbounded use of
memory, as the coordinator thread will allocate an unbounded number of
AsyncStoreProcessor objects without waiting for data to be written to the
back-end store.

Luckily, the AsyncStoreProcessor thread pool has been limited to a single
thread (see ISPN-3532), so this bug could not cause any data corruption due
to out-of-order writes (the coordinator thread only guaratees disjoint keys
for two states, i.e. only two states can be processed in parallel).


Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5559 AsyncStoreProcessor: always decrement the workerThreads Cou…

Make sure AsyncStoreProcessor threads don't die without notifying the
AsyncStoreCoordinator (e.g. if writing to the backend store throws a

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5559 AsyncCacheWriter: on shutdown, wait until all changes have …
…been written

AsyncCacheWriter.stop() may currently return before all data has been
written to the back-end store. PersistenceManager will then call stop() on
the back-end store, leading to data loss.

Similar to PassivationManager, AsyncCacheWriter should write all data to
the back-end store, no matter how long it takes.

This is consistent with the recommendation in the AsyncStoreConfiguration
documentation to set a very large timeout. However, the initialization
code currently prevents reasonable timeout settings with an error message.

Remove all timed waits and the respective shutdownTimeout option.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5559 AsyncStoreConfiguration: mark unused config options deprecated
Mark "shutdownTimeout" and "flushLockTimeout" (unused since 5.2.0 /
ISPN-2293) deprecated.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-3532 AsyncStoreTest: test that back-end store writes are multi-t…

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-3532 AsyncCacheWriter: fix multi-threaded back-end writes
ThreadPoolExecutor only creates more than corePoolSize threads if the
workQueue is full. With an unbounded workQueue and corePoolSize == 0, the
thread pool is always single threaded.

Fix this by setting corePoolSize to the configured number of threads.

Additionally, allow core pool threads to timeout, so that we don't use
threads if the cache is idle.

Writing State data to the back-end store can now be completed out-of-order
(i.e. the current state's processors may finish before the tail state's
processors). For State.get() to work correctly,
must not disconnect State objects with an active next state.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5562 AsyncStoreTest: test that stop() works correctly with concu…
…rrent write()

Test that everything successfully written to the AsyncCacheWriter is also
written to the back-end store.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5562 AsyncCacheWriter: don't lose data when the cache is stopped
There are two potential race conditions when stopping the AsyncCacheWriter:
1. Accessing State.stopped and State.modifications without synchronization
   doesn't guarantee that the modifications list is really empty.
2. If keys in the first stopped state conflicted with keys in tail, we
   need to process the head state as well.

Make sure that no data is lost by handing off the stopped state to the
coordinator thread while holding the readLock(), and process it just as
any other state.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5562 AsyncStoreTest: test that stop() works correctly with concu…
…rrent clear()

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5562 AsyncCacheWriter: fix stop() with concurrent clear()
clear() replaces the current head state, potentially resetting the stopped
flag that has been set by a concurrent stop() call.

Move the stopped flag to the AsyncCacheWriter to fix this.

In clear(), throw a CacheException if the store is stopped (similar to
write() / remove()).

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5563 AsyncStoreTest: test more thoroughly that load() is in sync…
… with changes

That load() sometimes doesn't see changes that have been written to the
AsyncCacheWriter (former AsyncStore) was the root cause of ISPN-1174.

Fix the tests that still assume that "waiting" on changes to appear in
the CacheLoader is correct behaviour.

Testing the basic operations repeatedly instead of just adding 1,000
entries once also shows that the issue is still not completely fixed with
redesign of the AsyncStore (ISPN-2293). Note: this removes trace output
from doTestPut() / doTestClear() so that tests don't time out if executed

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5563 AsyncCacheWriter: fix race condition in State.get()
State.get() scans the states of the AsyncCacheWriter from head to tail,
while the AsyncStoreCoordinator may move conflicting entries from the
current state to the head state. If State.get() / AsyncCacheLoader.load()
is preempted after checking the head state, it may not see modifications
moved by the coordinator thread, and load data from the backend store

To prevent this from happening, we must not ever remove entries from the
State.modifications map.

Redesign AsyncStoreCoordinator: Instead of shifting conflicting keys to
the head state, collect them in a separate modifications list. Defer
execution of the respective AsyncStoreProcessors until after waiting for
the tail AsyncStoreProcessors to finish.

This has the additional advantage that conflicting keys don't add to the
head state's buffer count.

Signed-off-by: Karsten Blees <>
@kblees kblees ISPN-5564 AsyncCacheWriter: stop() and clear(): don't wait for buffer…
… space

stop() should take effect immediately, and clear() invalidates enqueued
changes rather than adding to them.

Make sure stop() and clear() don't block if the modification queue is full.

Signed-off-by: Karsten Blees <>
Commits on Jun 24, 2015
@danberindei danberindei ISPN-5567 CreateCacheCommand waiting for a number of members should b…
…e optional

* Don't wait for any members when CreateCacheCommand has a size of 0
  Fixes ClusteredCLITest
* Reduce the state transfer timeout in DistributedIntermediate[Shared]CacheFourNodesMapReduceTest
* General cleanup
Commits on Jun 25, 2015
@galderz galderz ISPN-5576 Use MessageToByteEncoder to avoid ByteBuf leak w/ exceptions 565e235
Commits on Jun 29, 2015
@galderz galderz ISPN-5581 AuthRequest can generate None response, deal with it
* Some AuthRequests might require to send the response early and then do
  some work. Deal with such situation by making sure None is caught
  amongst the decode options.
Commits on Jul 03, 2015
@gustavonalle gustavonalle ISPN-5528 Expose segment ownership in the Hot Rod client 26d8a1d
@slaskawi slaskawi ISPN-5131 Added Custom Cache Store documentation b3b8303
@tristantarrant tristantarrant ISPN-5551 Include a private "slotted" version of JBoss Marshalling to…
… avoid conflicts with the one provided by the AS
@rvansa rvansa ISPN-5542 Shorten interceptor stack for local caches
* fixed javadoc, XSD and moved the attributes to Parser80 instead of Parser72
@rvansa rvansa ISPN-5542 Shorten interceptor stack for local caches
* added server configuration
@wburns wburns ISPN-5573 Node shutting down can throw IllegalLifecycleStateException
wrapped multiple times

* Don't wrap Runtime with another Runtime for marshaller
* Changed ILSE to extend CacheException to prevent extra wrapping
* Changed JCache to throw IllegalStateException for various methods
@vjuranek vjuranek ISPN-5582 Upgrade JGroups to 3.6.4 77d18f9
@wburns wburns ISPN-5577 JBossMarshaller can throw NPE of externalizer table if trying
to unmarshall while stopping cache

* Added check to readObject in addition to getObjectWriter
@anistor anistor ISPN-5587 Upgrade to hibernate-hql-parser 1.2.1.Final ab8da5a
@anistor anistor ISPN-5561 HQL queries with empty string operands fail due to analysis
Queries must ignore the analyzer as they are not supposed to be full
text; providing a custom FieldBridgeProvider to LuceneProcessingChain
turns off analysis
Commits on Jul 06, 2015
@vjuranek vjuranek ISPN-5580 ISPN-5583 Update Arquillian version and re-enable tests
Tests HotRodCustomMarshallerEventIT and HotRodRemoteCacheIT were
marked as unstable in f7cee30
@gustavonalle gustavonalle ISPN-5592 Broken c899cfd
@danberindei danberindei ISPN-5571 CommandAwareRpcDispatcher should cancel timeout tasks earlier ef3e74b
@danberindei danberindei ISPN-5568 TestResourceTracker.backgroundTestStarted IDE problems
* Add TestResourceTracker.testStarted and testFinished calls in
* Rename TestResourceTracker.backgroundTestStarted to testThreadStarted
* Replace the AbstractInfinispanTest.TrackingThreadFactory with a
  Cleaner implementation for Thread resources
@gustavonalle gustavonalle ISPN-5593 Provide a default jgroups stack based on discovery using TC…
@anistor anistor Some cleanup in all-embedded query tests b12e56d
@anistor anistor ISPN-5393 Support mixed indexed and non-indexed fields in DSL based q…
@danberindei danberindei ISPN-5594 Release script javac internal error 0acba6c
Commits on Jul 14, 2015
@alanfx alanfx ISPN-5378 Added IndexReader and Spatial search tests
IndexReader and spatial search tests are working.
This commit includes changes suggested by Nicolas Helleringer to the
spatial annotations on the Member class, and the
spatialSearchWithDistance() method.
@tristantarrant tristantarrant ISPN-5548 Realign JGroups subsystem with the one from WildFly
- Support fork channels
- Split common classes into a server-commons module
@tristantarrant tristantarrant ISPN-5548 Adapt Infinispan subsystem to jgroups subsystem changes 4445ee1
Commits on Jul 15, 2015
@pruivo pruivo ISPN-5604 Create Notifier c30d565
@pruivo pruivo ISPN-5602 Create timeout scheduler executor c67c771
Commits on Jul 20, 2015
@wburns wburns Removed worthless tests - requires TypeConverter in classpath which is
only available in hotrod server
@wburns wburns ISPN-5293 Create generic execution framework from EntryIterator
* Added CacheStream support
* Removed values command as it made doing key filtering difficult
* Changed data container iterator to no longer return expired entries
@mgencur mgencur ISPN-5597 Verify if clustered Arquillian based tests are really clust…
Commits on Jul 21, 2015
@pruivo pruivo ISPN-5608 Refactor PerCacheInvocationHandler a99a8c9
@pruivo pruivo ISPN-5609 Create CommandInvocationId aaecbb2
@tristantarrant tristantarrant ISPN-5618 Upgrade server to WildFly 9.0.0.Final
- Upgrade server to WildFly 9.0.0.Final
- Don't specify CompressedOops explicitly in the server startup options as the JDK already does that automatically
@jmarkos jmarkos ISPN-5586 PerformanceCompareStressTest also needs to extend AbstractI…
Commits on Jul 22, 2015
@gustavonalle gustavonalle ISPN-5611 Make the remote iterator to respect the RequestBalancingStr…
…ategy in the Hot Rod client
@vjuranek vjuranek ISPN-5538 Add test for JGroups properties-based CallbackHandler a6bd546
@tristantarrant tristantarrant ISPN-5606 Add a dependency to the web management console 148a524
@wburns wburns ISPN-5619 Deprecate EntryRetriever with distributed streams
* Replaced usage of EntryRetriever with distributed stream
* Added segment completion for iterator
* Added injection for map and filter operations
@wburns wburns ISPN-5619 Deprecate EntryRetriever with distributed streams
* Removed usage of entry retriever
* Method filterEntries delegates to distributed streams
* Updated entry retriever tests to be used by distribtued streams
* Distributed stream operates now when not in consistent hash
* Fixed bugs with distributed stream when used by remote cache
* Deprecated filterEntries method and EntryRetriever class
Commits on Jul 23, 2015
@danberindei danberindei ISPN-5627 Really remove UNAVAILABLE availability mode 217f52f
@pruivo pruivo ISPN-5603 Make BlockingTaskAwareExecutorService.checkForReadyTasks() …
@pruivo pruivo ISPN-5620 Create PendingLockManager 71dfe59
@gustavonalle gustavonalle ISPN-5612 Make filter by segment more efficient in the Remote iterator 462eec7
@anistor anistor Fix test names e6c2a8c
@anistor anistor ISPN-5416 Grouping and aggregations with DSL based queries b8ffae1
@anistor anistor ISPN-5416 Replace deprecated QueryBuilder.setProjection with QueryBui…
Commits on Jul 24, 2015
@gustavonalle gustavonalle ISPN-5583 Re-enable test 268a961
@oscerd oscerd ISPN-5598 Hit count computed incorrectly for getAll() 7c9e0da
@baranowb baranowb ISPN-5568 KeyAffinityService race condition on view change e525f2a
@danberindei danberindei ISPN-5568 Use polling instead of sleep 02f2367
@tristantarrant tristantarrant ISPN-3076 Upgrade to JBoss Logging 3.2.1
- Also migrate code to use log4j 2.x
- Bump Karaf to 3.0.4
- Bump Pax Exam to 3.5.0
- Update Hibernate dependencies
@anistor anistor ISPN-5561 Additional tests for queries with empty string operands fb8ca99
@wburns wburns ISPN-5630 Port tests from enty retriever to distributed streams
* Fixed various issues with cache loader
* Added a bunch of tests ported from Entry Retriever
@tristantarrant tristantarrant ISPN-5633 Upgrade the console to 8.0.0.Beta1 53694f1
Commits on Jul 29, 2015
@oscerd oscerd ISPN-4661 TreeNode putIfAbsent implementation is different from what …
@danberindei danberindei ISPN-5641 Reduce contention in JGroupsAddressCache
Avoid computeIfAbsent for existent entries, because it synchronizes
on the entry.
@danberindei danberindei ISPN-5640 Avoid a map lookup in SyncConfiguration.replTimeout() 6a9e031
@danberindei danberindei ISPN-5639 Avoid creating a Callable instance for timeout handling 8492730
@danberindei danberindei ISPN-5638 Remote commands can also use SingleKeyNonTxInvocationContext f5ce362
@danberindei danberindei ISPN-5637 Remove isOriginLocal field from AbstractInvocationContext 8122b30
@gustavonalle gustavonalle ISPN-5647 ClassCastException on transactional cache f5f73e0
Commits on Aug 03, 2015
@ryanemerson ryanemerson [ISPN-5655] MissingFormatArgumentException thrown by PreferConsistenc…
@gustavonalle gustavonalle ISPN-5650 NPE when trying to execute script from Hot Rod client 02671cb
@gustavonalle gustavonalle ISPN-5625 Distributed stream iterator should try to stay local if pos…
Commits on Aug 04, 2015
@rvansa rvansa ISPN-5658 Soft Index File Store does not update sequence id in start() 129b10c
@rhusar rhusar Remove unused import 34cff76
@rhusar rhusar ISPN-5660 Remove deprecated executor factory configuration methods
* Remove deprecated and deceitful thread pool configuration methods
@ryanemerson ryanemerson [ISPN-5516] SingleFileStore should skip loading from disk if value an…
…d metadata are not requested
@gdarmont gdarmont ISPN-4220 : RemoteCacheManager.getCache may ignore the forceReturnVal…
…ue flag

RemoteCacheManager's internal cacheName2RemoteCache Map now uses a RemoteCacheKey instead of the cacheName String.
This allows retrieval of different RemoteCache instances for different forceReturnValues
Commits on Aug 05, 2015
@danberindei danberindei ISPN-5379 Persistence throwing ConcurrentModificationException
Make the modifications list immutable after prepare starts
@ryanemerson ryanemerson [ISPN-5601] Merge ExtendedModuleCommandFactory into ModuleCommandFactory ea75566
@galderz galderz ISPN-5523 Use array instead of ByteBuffer when building key+value event 333a269
@galderz galderz ISPN-5523 Add eager near cache stress test a4a2ee0
@galderz galderz ISPN-5523 Externally control encoder's byte buffer choice of direct/heap
* By default, it uses direct memory for the encoder byte buffer.
* By passing -Dio.netty.noPreferDirect=true, the server would use a heap
buffer for the encoder byte buffer. This could be a short-term
Commits on Aug 06, 2015
@wburns wburns ISPN-5621 Remove add and addAll support from entrySet methods. e467305
@rvansa rvansa ISPN-5605 Implement getAffectedKeys() in InvalidateCommand c66ab53
@rvansa rvansa ISPN-5601 Merge ExtendedModuleCommandFactory into ModuleCommandFactory
* Reverted commit to allow for binary compatibility with ISPN 7
Commits on Aug 07, 2015
@pruivo pruivo ISPN-2849 Don't keep threads blocked when waiting for locks to be rel…
@tristantarrant tristantarrant ISPN-5635 Upgrade the server base to WildFly 9.0.1.Final 48110c7
Commits on Aug 09, 2015
@wburns wburns ISPN-5652 Change isEmpty to use anyMatch to prevent serializing entries f5aec76
Commits on Aug 10, 2015
@tristantarrant tristantarrant ISPN-4919 Add configuration templates to core 384a822
@tristantarrant tristantarrant ISPN-4919 Refactor server resources so that the restartability is exp…
…osed as an interface
@tristantarrant tristantarrant ISPN-5656 Drop the 5.3 parser 3e63fdf
@tristantarrant tristantarrant ISPN-4919 Server templates
- Split configuration and cache model trees
- Compact server parsers into a single class using versioning checks
@wburns wburns ISPN-5653 keySet().iterator() does not propagate flags to remove()
* Made sure to support iterator remove and various flags
* Added additional documentation describing this interaction
* Added tests for keySet, values and entrySet versions
@jmarkos jmarkos Remove unused files f881da9
@jmarkos jmarkos Fix outdated/broken links in documentation + add a script to find them 4980b74
@galderz galderz ISPN-5553 Initial FunctionalMap implementation for local envs 224a57a
@galderz galderz ISPN-5553 Add clustering support for FunctionalMap APIs
* Added support for distributed and replicated cluster modes.
* Added helped class where to locate commonly used marshallable
  functions, consumers...etc. These are used throughout by the
  ConcurrentMap and JCache test implementations and other tests.
* Added valueMatcher attribute to SerializeWith to be able to provide
  hints about the funtion/consumer's work. This is useful for retries.
* Added NullCacheEntry to be able to separate between a null return,
  which often refers to key not being local, and the key being local but
  not containing anything. This allows for lambdas to be passed that
  check whether the entry is passed in a type safe way.
@galderz galderz ISPN-5553 Class instead of Id for MetaParam lookup
* MetaParam.Id class is not really necessary. Class<T> can be used for
  meta parameter lookups, by checking whether a meta parameter is
  assignable to that type.
@galderz galderz ISPN-5553 Functional map listener implementation
* Listener implementation with pre-notifications. This will change to
  post notifications in a forthcoming commit.
@galderz galderz ISPN-5553 Minor compilation, test and refactoring fixes
* Remove Closeables class since it was only temporary.
* Fix compilation issues as a result of rebase.
* Fix test failures as a result of rebase.
* Add LocalCommand implements to local commands.
@gustavonalle gustavonalle ISPN-5537 Upgrade to Lucene 5 90115ee
@Sanne Sanne ISPN-5537 Amend invalid sorting options used in tests 18a5360
@gustavonalle gustavonalle ISPN-5537 Disabled test until HSEARCH-1956 is fixed 7634c09
Commits on Aug 13, 2015
@wburns wburns ISPN-5664 Null is returned for a not expired entry in Hot Rod client
* Added test to verify issue (removing lifespan will show issue)
* Fixed issue where factory was passing improper lifespan/maxIdle
@wburns wburns ISPN-5670 Hot Rod server sets -1 for lifespan or maxIdle as default
* Fixed issue where -1 is using default
* Fixed issue where default metadata wasn't applied for decorated cache
@galderz galderz ISPN-5678 Expose Functional API javadocs 52ed831
Commits on Aug 14, 2015
@slaskawi slaskawi ISPN-5343 Resizing of BoundedEquivalentConcurrentHashMapV8 d5b69f0
@rhusar rhusar ISPN-5675 asyncThreadPool is missing in GlobalConfigurationBuilder#re…
…ad, validate, toString, equals, hashCode
@wburns wburns ISPN-694 Create expiration notification for in-memory cache entries
ISPN-5646 Remove deprecated CacheEntryEvictedEvent

* Removed CacheEntryEvicted event
* Added CacheEntryExpired event
* Expiration now occurs consistent across memory and stores
Commits on Aug 17, 2015
@wburns wburns ISPN-5662 Change stream timeout values for remote operations to use
replication timeout

* Set timeout to replication timeout by default
* Allow overriding timeout value
@wburns wburns ISPN-5676 EntryRetrievalCommand must enlist the transaction
* Only includes test as this version was unaffected
@slaskawi slaskawi ISPN-5595 Deployed Cache Store Factory operates on promises 615b91b
@vjuranek vjuranek ISPN-5680 Avoid NPE in case of negative lifespan or maxIdle values
* Negative values mean infinit interval, in which case there's no need
  to specify time units.
* Remove unused imports
@anistor anistor ISPN-5673 Observation attribute is ignored for listeners with indexed…
… DSL filters

* JPAFilterIndexingServiceProvider must check the observation of each invocation and only do the invocation if event.isPre() matches
@anistor anistor ISPN-5669 JPAProtobufFilterIndexingServiceProvider is ignored e5eb39e
@anistor anistor Move QueryCache logging to trace 2b1a260
Commits on Aug 20, 2015
@wburns wburns ISPN-5632 Address rework comments for ISPN-5293 fe38df2
@dmstahl dmstahl ISPN-5541 Add provided scope to javax api dependencies 6ecdd83
@ryanemerson ryanemerson [ISPN-5569] NullPointerException on JCache.putAll(ConcurrentHashMap) 95bc1c4
@rnowling rnowling Fix spacing/rendering issue in User Guide Chapter 69 dacc31f
Commits on Aug 21, 2015
@rnowling rnowling Change "thing" to "think" in Chapter 14 f5c9e7b
@tristantarrant tristantarrant ISPN-5687 Server thread pools cb153dd
@galderz galderz ISPN-5677 RemoteCache async methods use flags
* They were previously being ignored as a result of not sending from the
  main thread to the thread executing the async operation.
@galderz galderz ISPN-5607 Preemptively invalidate near cache after writes
* Near cache stale reads can't be fully guaranteed since there's always
  the possibility of a read to come in when the server has already
  executed a write operation but it's in process of sending back the
* However, we can't at least guarantee that within a single
  thread, a read after a write will read the written value. The change
  proposed in this PR addresses this, by preemptively invalidating data
  after a successful write.
@galderz galderz ISPN-5553 Add locking for Functional Map API
* ISPN-2849 relies on locking interceptor being correctly implemented in
  order to unlock threads properly, otherwise non-owner conditional
  operation test pass but very slowly.
* Existing functional map tests will be enhanced to verify that locks
  are retained while write operations are ongoing.
@galderz galderz ISPN-5553 Retry logic for read-write functional API
* Implemented retry logic for read-write key+value command by keeping
  track of the value and metadata values at the time of first
  call. Since lambda's are transparent to the commands, commands can
  only keep track of the old information and use that when executing
  lamdabs, unless there has been an update.
* This means that there's extra marshalling costs for read-write
  key+value operations compared to standard replace.
* To verify the logic, ported over some of distribution rehash tests to
  use cache conditional operations based on the functional map API, and
  expanded them to verify that we can retry a replace operation where
  equality is done based on version information instead of value equality.
@galderz galderz ISPN-5553 Implement post functional listener events
* Previously events were pre, but it was agreed that if you're only
  going to fire it once, it's better to do so post.
* Also implemented feedback so that read-write operations also fire
  write only listeners, so read-write operations can do writes too.
* ReadWriteListeners now extends WriteListeners. This has been done
  because a user that has access to a read-write functional map might be
  interested in write events in general. This also means that when a
  read-write operation is executed, write event listeners are also fired
  which is a natural thing to happen, whereas the opposite is not. A
  write listener can't get full knowledge about created/update/remove
* Adjusted ReadWriteListeners and WriteListeners javadoc to match the
  current expectations.
@galderz galderz ISPN-5553 MVCC entries should not be marshallable
* If the users decides to return ReadEntryview or ReadWriteView
  instances from lambdas, we need to make sure that any MVCC entries
  that are cached by these views are removed from them, to avoid having
  to marshall MVCC entries.
* If ReadWriteView instances are returned, these need to be laundered so
  that they cannot be modified, since modifications are only allowed
  inside the lambda. Being able to return them from lambdas can be handy
  for example in situations where the users wants to return both the
  value and metadata in one go.
@galderz galderz ISPN-5553 Meta parameters might not be present
* Users should not assume meta parameters will be present, e.g. when
  compatibility is enabled, hence MetaParam.Lookup.getMetaParam has been
  removed. Javadoc has been updated to explain this as an api note.
* Remove MetaParamIds which is no longer in use since meta parameters
  are looked up using class info.
* Add code samples for looking up meta parameters when types are
  generic, and explained tips for working with these.
* Duplicate meta params are allowed in MetaParams construction but
  duplicates are now filtered to take last value passed in per type.
@galderz galderz ISPN-5553 Remove javadoc links not in classpath a4610a2
@galderz galderz ISPN-5553 CompletableFuture<Void> instead of Iterator<Void>
* Iterator does not really add anything when the return value is void
  for each of the operations executed, so it's easier to just have a
  CompletableFuture that is completed when the write-only operation has
  been executed for all keys.
@galderz galderz ISPN-5553 Formatting and javadoc changes fc3c007
@galderz galderz ISPN-5553 Refactor WaitMode to FutureMode
* WaitMode refactored to FutureMode so that it better represents that
  it's only relevant for how the completable futures work.
* WaitMode for Traversables is gone since it does not make much sense
  given that its collect methods do pretty much the same.
* Added Traversable.collect(Collector) since it offers ease of use when
  it comes to doing most common collect operations, and with the
  addition of CacheCollectors.serializableCollector, it's much easier
  than ever before to marshaller Collector instances.
@galderz galderz ISPN-5553 Traversable simplification
* Traversable has been refactored into two sets of operations:
  intermediate and terminal operations. When terminal operations are
  executed, the Traversable is closed, and hence it does not need to
  extend AutoCloseable.
* Traversable's iterator and spliterator have been removed since they
  are neither intermediate nor terminal operations, and they belong to
  an old era where the user would iterate over things manually.
* Still, there are situations when having an iterator might be useful or
  necessary, e.g. implement JCache.iterator method, so
  Traversables.iterator() helper method has been created to cover that
  use case.
@galderz galderz ISPN-5553 Minor javadoc fixes cf43fdd
@rhusar rhusar ISPN-5693 ASYNC_TRANSPORT_EXECUTOR is injected to RpcManagerImpl but …
…never used

cleanup imports
@tristantarrant tristantarrant ISPN-5690 Server should properly persist multiple instances of caches…
… based on common configurations
@ryanemerson ryanemerson [ISPN-5517] JDBCBinaryStore size method should query count directly i…
…nstead of iterating
@gustavonalle gustavonalle ISPN-5689 Preserve compatibility with Hibernate 5.0.0.Final 32f6822
@anistor anistor Remove unused imports 5ad73ca
@anistor anistor Fix generic args of Search.makeFilter()
The C generic arg was not used anyway so we can remove it
@anistor anistor ISPN-5692 Registering a remote event listener fails if cache is index…
…ed, uses protobuf marshalling and includeInitialState=true
@anistor anistor ISPN-5417 Listener-based continuous query feda4aa
Commits on Aug 24, 2015
@tristantarrant tristantarrant ISPN-5691 Automatically enable write-skew checks when using REPEATABL…
…E_READ isolation and optimistic locking
@tristantarrant tristantarrant ISPN-5694 Make projectCode for server subsystems homogenous b0b1be5
Commits on Aug 26, 2015
@tristantarrant tristantarrant ISPN-5701 Drop the server RHQ management plugin 4fb3212
@tristantarrant tristantarrant ISPN-5702 Bump up console dependency to 8.0.0.CR1 5840ff8
@tristantarrant tristantarrant ISPN-5703 Avoid an NPE when persisting server configuratins ec4b9dc
@anistor anistor Remove unused imports 0e98a44
@anistor anistor ISPN-5685 Filtering doesn't work with sum aggregation f01512f
@anistor anistor ISPN-5666 Review publicly accessbile classes in remote-query-client/s…

* delete deprecated interface org.infinispan.query.remote.ProtobufMetadataManagerMBean
* delete deprecated method ProtobufMetadataManager.registerProtofiles(String... classPathResources)
* delete deprecated method ProtobufMetadataManager.displayProtofile(String fileName)
@anistor anistor ISPN-5692 Registering a remote event listener fails if cache is index…
…ed, uses protobuf marshalling and includeInitialState=true
@galderz galderz ISPN-5688 Add Functional Map simple tutorial as a test 3621825
Commits on Aug 28, 2015
@galderz galderz ISPN-5698 Add missing parameter to trace log message bc7444d
@galderz galderz ISPN-5684 Make getAll work with compatibility mode in DIST
* When compatibility mode is enabled, a clustered getAll requests
  results in a local getAll, whose results should not be unboxed.
* Also, when unboxing the result back for the client, unboxing must
  happen regardless unless the value is null.
@wburns wburns ISPN-5679 Add clustered expiration support
* Added in clustered expiration manager
@wburns wburns ISPN-5507 Transactions committed immediately before cache stop can block

* Changed transaction shutdown to use system instead of time service
** Prevents tests from hanging forever who replace timeService
* Also updated notification tests to have quicker timeout