]
Galder Zamarreno commented on ISPN-165:
---------------------------------------
I had to add some sleep to make sure the invalidation got propagated and the get calls
happened after the propagation, but the following test fails with invalidation:
public void testPutForExternalRead() throws Exception {
cache1.putForExternalRead("key", "value1");
Thread.sleep(500); // sleep so that async invalidation (result of PFER) is
propagated
cache2.putForExternalRead("key", "value2");
Thread.sleep(500); // sleep so that async invalidation (result of PFER) is
propagated
assert cache1.get("key") != null;
assert cache1.get("key").equals("value1");
assert cache2.get("key") != null;
assert cache2.get("key").equals("value2");
}
putForExternalRead() resulting in cluster wide invalidation
-----------------------------------------------------------
Key: ISPN-165
URL:
https://jira.jboss.org/jira/browse/ISPN-165
Project: Infinispan
Issue Type: Bug
Components: RPC
Affects Versions: 4.0.0.ALPHA6
Reporter: Galder Zamarreno
Assignee: Galder Zamarreno
Fix For: 4.0.0.BETA1
More findings from porting further tests over to the Infinispan cache provider. The
following log snippet shows a call to putForExternalRead() resulting on an invalidation
and that, according to the Cache API, should not happen:
2009-08-20 10:26:23,437 6311 TRACE
[org.infinispan.interceptors.InvocationContextInterceptor] (main:) Invoked with command
PutKeyValueCommand{key=KEY4, value=VALUE1, putIfAbsent=true, lifespanMillis=-1,
maxIdleTimeMillis=100000} and InvocationContext
[NonTxInvocationContext{flags=[ZERO_LOCK_ACQUISITION_TIMEOUT, FORCE_ASYNCHRONOUS,
FAIL_SILENTLY]}]
2009-08-20 10:26:23,437 6311 TRACE [org.infinispan.factories.EntryFactoryImpl] (main:)
Creating new entry.
2009-08-20 10:26:23,437 6311 TRACE
[org.infinispan.util.concurrent.locks.LockManagerImpl] (main:) Attempting to lock KEY4
with acquisition timeout of 0 millis
2009-08-20 10:26:23,438 6312 TRACE [org.infinispan.interceptors.CallInterceptor] (main:)
Executing command: PutKeyValueCommand{key=KEY4, value=VALUE1, putIfAbsent=true,
lifespanMillis=-1, maxIdleTimeMillis=100000}.
2009-08-20 10:26:23,438 6312 TRACE [org.infinispan.interceptors.LockingInterceptor]
(main:) Number of entries in context: 1
2009-08-20 10:26:23,438 6312 TRACE [org.infinispan.container.entries.ReadCommittedEntry]
(main:) Updating entry (key=KEY4 removed=false valid=true changed=true created=true
value=VALUE1]
2009-08-20 10:26:23,439 6313 TRACE [org.infinispan.interceptors.LockingInterceptor]
(main:) Releasing lock on [KEY4] for owner Thread[main,5,main]
2009-08-20 10:26:23,439 6313 TRACE
[org.infinispan.util.concurrent.locks.LockManagerImpl] (main:) Attempting to unlock KEY4
2009-08-20 10:26:23,439 6313 DEBUG [org.infinispan.interceptors.InvalidationInterceptor]
(main:) Cache [localhost.localdomain-11442] replicating InvalidateCommand{keys=[KEY4]}
2009-08-20 10:26:23,439 6313 TRACE [org.infinispan.remoting.rpc.RpcManagerImpl] (main:)
localhost.localdomain-11442 broadcasting call InvalidateCommand{keys=[KEY4]} to recipient
list null
2009-08-20 10:26:23,440 6314 TRACE
[org.infinispan.remoting.transport.jgroups.JGroupsTransport] (main:) dests=null,
command=SingleRpcCommand{cacheName='test/com.foo.test',
command=InvalidateCommand{keys=[KEY4]}}, mode=ASYNCHRONOUS, timeout=20000
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: