[infinispan-issues] [JBoss JIRA] (ISPN-3780) CLONE - InvalidateL1Command during ST should not cancel writing the entry by ST in nontx
Radim Vansa (JIRA)
jira-events at lists.jboss.org
Wed Dec 4 11:58:06 EST 2013
[ https://issues.jboss.org/browse/ISPN-3780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12928649#comment-12928649 ]
Radim Vansa commented on ISPN-3780:
-----------------------------------
{code}
edg-perf03:07:00:02,044 TRACE [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (SharedLogChecker-6) Replication task sending ClusteredGetCommand{key=key_0000000000003154, flags=null} to addresses [edg-perf02-17030, edg-perf01-24254] with response mode GET_FIRST
edg-perf03:07:00:02,045 TRACE [org.infinispan.remoting.rpc.RpcManagerImpl] (SharedLogChecker-6) Response(s) to ClusteredGetCommand{key=key_0000000000003154, flags=null} is {edg-perf02-17030=SuccessfulResponse{responseValue=null} }
...
edg-perf02: 07:00:02,445 TRACE [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (OOB-36,edg-perf02-17030) Attempting to execute command: SingleRpcCommand{cacheName='testCache', command=PutKeyValueCommand{key=key_0000000000003154, value=[ #1: 39~552, ], flags=null, putIfAbsent=true, metadata=EmbeddedMetadata{version=null}, successful=true, ignorePreviousValue=false}} [sender=edg-perf04-38684]
...
edg-perf02:07:00:04,011 TRACE [org.infinispan.commands.remote.BaseRpcInvokingCommand] (remote-thread-22) Invoking command PutKeyValueCommand{key=key_0000000000003154, value=[ #1: 39~552, ], flags=null, putIfAbsent=true, metadata=EmbeddedMetadata{version=null}, successful=true, ignorePreviousValue=false}, with originLocal flag set to false
...
edg-perf02:07:00:04,013 TRACE [org.infinispan.distribution.L1ManagerImpl] (remote-thread-22) Invalidating keys [key_0000000000003154] on nodes [edg-perf03-38968]. Use multicast? true
...
edg-perf03:07:00:04,014 TRACE [org.infinispan.remoting.transport.jgroups.CommandAwareRpcDispatcher] (OOB-79,edg-perf03-38968) Attempting to execute command: SingleRpcCommand{cacheName='testCache', command=InvalidateL1Command{num keys=1, forRehash=false, origin=edg-perf04-38684}} [sender=edg-perf02-17030]
...
edg-perf03:07:00:04,014 TRACE [org.infinispan.commands.remote.BaseRpcInvokingCommand] (remote-thread-27) Invoking command InvalidateL1Command{num keys=1, forRehash=false, origin=edg-perf04-38684}, with originLocal flag set to false
...
edg-perf03:07:00:04,015 TRACE [org.infinispan.container.EntryFactoryImpl] (remote-thread-27) Retrieved from container null (isL1Enabled=true, isLocal=true)
...
edg-perf03:07:00:04,015 TRACE [org.infinispan.commands.write.InvalidateL1Command] (remote-thread-27) Preparing to invalidate keys [key_0000000000003154]
edg-perf03:07:00:04,015 TRACE [org.infinispan.statetransfer.StateConsumerImpl] (remote-thread-27) Key key_0000000000003154 modified by a regular tx, state transfer will ignore it
edg-perf03:07:00:04,015 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (remote-thread-27) Entry for key key_0000000000003154 is null : not calling commitUpdate
...
edg-perf02:07:00:04,046 TRACE [org.infinispan.remoting.rpc.RpcManagerImpl] (transport-thread-15) edg-perf02-17030 invoking StateResponseCommand{cache=testCache, origin=edg-perf02-17030, topologyId=12} to recipient list [edg-perf03-38968] with options RpcOptions{timeout=600000, unit=MILLISECONDS, fifoOrder=true, totalOrder=false, responseFilter=null, responseMode=SYNCHRONOUS, skipReplicationQueue=false}
...
edg-perf03:07:00:04,082 TRACE [org.infinispan.remoting.InboundInvocationHandlerImpl] (remote-thread-33) Calling perform() on StateResponseCommand{cache=testCache, origin=edg-perf02-17030, topologyId=12}
...
edg-perf03:07:00:04,817 TRACE [org.infinispan.interceptors.CallInterceptor] (remote-thread-33) Executing command: PutKeyValueCommand{key=key_0000000000003154, value=[ #1: 39~552, ], flags=[CACHE_MODE_LOCAL, SKIP_REMOTE_LOOKUP, PUT_FOR_STATE_TRANSFER, SKIP_SHARED_CACHE_STORE, SKIP_OWNERSHIP_CHECK, IGNORE_RETURN_VALUES, SKIP_XSITE_BACKUP], putIfAbsent=false, metadata=EmbeddedMetadata{version=null}, successful=true, ignorePreviousValue=false}.
edg-perf03:07:00:04,817 TRACE [org.infinispan.interceptors.EntryWrappingInterceptor] (remote-thread-33) State transfer will not write key/value key_0000000000003154/[ #1: 39~552, ] because it was already updated by somebody else
{code}
> CLONE - InvalidateL1Command during ST should not cancel writing the entry by ST in nontx
> ----------------------------------------------------------------------------------------
>
> Key: ISPN-3780
> URL: https://issues.jboss.org/browse/ISPN-3780
> Project: Infinispan
> Issue Type: Bug
> Components: Distributed Cache
> Affects Versions: 5.3.0.Final
> Reporter: Radim Vansa
> Assignee: William Burns
> Priority: Critical
> Labels: 620
> Fix For: 6.1.0.Final
>
>
> When a node which is about to receive the entries for some segment receives InvalidateL1Command, this puts the key into StateConsumer.updatedKeys. After the entries for ST are received, the entry which was invalidated is not updated -> this result in losing the entry.
> Btw., in EntryWrappingInterceptor.visitInvalidateL1Command the trace logs all looked up entries for each entry - this causes some performance problems when tracing is on and there are many invalidated entries. Please, do this only once.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the infinispan-issues
mailing list