…ion during state transfer Retry all commands when state transfer has started on a remote node. We had this logic before, but only for commit commands.
…ion and not release the key locks Test reproducing the problem. Commit should never fail with a RehashInProgressException, so I changed StateTransferLockImpl to loop forever for commit commands instead of giving up after the normal timeout.
…are command fails on a remote node Test demonstrating the stale locks : StaleEagerLocksOnPrepareFailureTest. Don't unlock keys when the prepare command fails, wait for the rollback command.
This is to make sure that failures on startup still result in cache managers being shut down properly.
* The following description provides an overview of this commit that should help reviewers. * ISPN-1404: This is about making hash seed configurable so that Hot Rod clients can hash on the information available to them. Changes in core/ module are related to this. * ISPN-1408: The rest of code changes are pretty much related to the introduction of Hot Rod protocol version 1.1 in order to make Hot Rod topology information maintenance scalable. * This includes transforming Hot Rod server to have versioned encoders and get rid of all the old topology cache handling code. * This also includes a big reshuffle of code in the Hot Rod client which its current design was not really geared towards supporting multiple versions of the Hot Rod protocol. * ISPN-1476: Fix a very important bug in Hot Rod client's ConsistentHashV1 which lead to clients not hashing the same way as servers. As a result of this, CSAIntegrationTest was re-enabled.
- replace DefaultValueWrapper with ValueWrapperImpl (class renamed in Spring)
I changed the way the cache view listener is set and read to minimize data races.
… lock to aid debugging.
…null" error in the testsuite logs Treat null responses as normal responses (although invalid), not as unexpected responses. AbstractTransport should also not depend on any JGroups classes.
… COMMIT_VIEW command from the old coordinator. The NPE is only logged, it doesn't break functionality since the view is already committed on the nodes where the NPE occurs.