Red Hat Bugzilla – Bug 801102
socket-timeout for remote-store does not work correctly with JDK 7 64 bit
Last modified: 2012-08-15 10:44:42 EDT
Description of problem:
When I set a socket-timeout to 1 and expect the TimeoutException to be thrown when a key goes to the remote-store (I have passivation enabled), the socket-timeout seems to affect HotRod client calls even when the key is not supposed to be evicted yet:
(Win 2k8 R2 64bit)
It seems like passivation got accidentally disabled and entries went to cache store even though they should not.
I was verifying this locally on windows machines - I tried many times and always got the same exception.
Run remote-cache-store tests from edg-functional-tests. The failing test can be found at https://svn.devel.redhat.com/repos/jboss-qa/edg/edg-functional-tests/trunk/remote-cache-store/src/test/java/org/jboss/test/cluster/datagrid/remotestore/RemoteCacheStoreTest.java and settings for infinispan at src/test/resources of the module.
I was able to reproduce it also with JDK 1.6.0_24 64bit so this might be related to Windows generally.
Hmm, the same happens with SUN JDK 1.7.0_02 32bit on Win 2008 32bit.
Created attachment 568560 [details]
DEBUG server log
The debug log shows exception that is thrown on node which has remote-store defined. But the exception is thrown when the following line is called and this should not happen:
In passivation mode, caches will always invoke a remove() operation on the cache store for every operation, even though no eviction is happening yet. This is to avoid inconsistency errors between what is in memory and what might already be in the store.