[ 
https://issues.apache.org/jira/browse/GEODE-6955?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Shu updated GEODE-6955:
----------------------------
    Labels: GeodeCommons  (was: )

> Client transaction commits failed with NPE in detectReadConflicts
> -----------------------------------------------------------------
>
>                 Key: GEODE-6955
>                 URL: https://issues.apache.org/jira/browse/GEODE-6955
>             Project: Geode
>          Issue Type: Bug
>          Components: transactions
>    Affects Versions: 1.1.0
>            Reporter: Eric Shu
>            Assignee: Eric Shu
>            Priority: Major
>              Labels: GeodeCommons
>
> This is shown when I add a dunit test for changes in detectReadConflicts 
> implementation.
> It occurs when client registers interest and a key is read locked. The issue 
> is that a read locked key op in transaction is null.
> [vm0] [info 2019/07/10 14:21:05.412 PDT <ServerConnection on port 54479 
> Thread 1> tid=0x51] event is 
> TXEntryState$TxEntryEventImpl[op=null;region=/TempdunitTest_readTransactionCanBlockWriteTransaction_region;key=1;callbackArg=null;originRemote=true;originMember=10.118.20.78(7291)<v1>:41001]
> [vm0] [info 2019/07/10 14:21:05.412 PDT <ServerConnection on port 54479 
> Thread 1> tid=0x51] event.getOperation is null
> [vm2] [info 2019/07/10 14:21:05.428 PDT <RMI TCP Connection(1)-127.0.0.1> 
> tid=0x13] Got result: EXCEPTION_OCCURRED
> [vm2] org.apache.geode.cache.client.ServerOperationException: remote server 
> on 10.118.20.78(7293:loner):54498:f4dcc2dd: While performing a remote commit
> [vm2]         at 
> org.apache.geode.cache.client.internal.AbstractOp.processObjResponse(AbstractOp.java:286)
> [vm2]         at 
> org.apache.geode.cache.client.internal.CommitOp$CommitOpImpl.processResponse(CommitOp.java:68)
> [vm2]         at 
> org.apache.geode.cache.client.internal.AbstractOp.processResponse(AbstractOp.java:222)
> [vm2]         at 
> org.apache.geode.cache.client.internal.AbstractOp.attemptReadResponse(AbstractOp.java:207)
> [vm2]         at 
> org.apache.geode.cache.client.internal.AbstractOp.attempt(AbstractOp.java:382)
> [vm2]         at 
> org.apache.geode.cache.client.internal.ConnectionImpl.execute(ConnectionImpl.java:263)
> [vm2]         at 
> org.apache.geode.cache.client.internal.pooling.PooledConnection.execute(PooledConnection.java:353)
> [vm2]         at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.executeWithPossibleReAuthentication(OpExecutorImpl.java:750)
> [vm2]         at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.executeOnServer(OpExecutorImpl.java:329)
> [vm2]         at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.executeWithServerAffinity(OpExecutorImpl.java:183)
> [vm2]         at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:122)
> [vm2]         at 
> org.apache.geode.cache.client.internal.OpExecutorImpl.execute(OpExecutorImpl.java:108)
> [vm2]         at 
> org.apache.geode.cache.client.internal.PoolImpl.execute(PoolImpl.java:770)
> [vm2]         at 
> org.apache.geode.cache.client.internal.CommitOp.execute(CommitOp.java:34)
> [vm2]         at 
> org.apache.geode.cache.client.internal.ServerRegionProxy.commit(ServerRegionProxy.java:246)
> [vm2]         at 
> org.apache.geode.internal.cache.tx.ClientTXStateStub.commit(ClientTXStateStub.java:115)
> [vm2]         at 
> org.apache.geode.internal.cache.TXStateProxyImpl.commit(TXStateProxyImpl.java:211)
> [vm2]         at 
> org.apache.geode.internal.cache.TXManagerImpl.commit(TXManagerImpl.java:426)
> [vm2]         at 
> org.apache.geode.internal.cache.TempdunitTest.commitReadTransaction(TempdunitTest.java:221)
> [vm2]         at 
> org.apache.geode.internal.cache.TempdunitTest.lambda$readTransactionCanBlockWriteTransaction$632092bf$1(TempdunitTest.java:105)
> [vm2]         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [vm2]         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> [vm2]         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [vm2]         at java.lang.reflect.Method.invoke(Method.java:498)
> [vm2]         at 
> org.apache.geode.test.dunit.internal.MethodInvoker.executeObject(MethodInvoker.java:123)
> [vm2]         at 
> org.apache.geode.test.dunit.internal.RemoteDUnitVM.executeMethodOnObject(RemoteDUnitVM.java:69)
> [vm2]         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [vm2]         at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> [vm2]         at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> [vm2]         at java.lang.reflect.Method.invoke(Method.java:498)
> [vm2]         at 
> sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
> [vm2]         at sun.rmi.transport.Transport$1.run(Transport.java:200)
> [vm2]         at sun.rmi.transport.Transport$1.run(Transport.java:197)
> [vm2]         at java.security.AccessController.doPrivileged(Native Method)
> [vm2]         at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
> [vm2]         at 
> sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
> [vm2]         at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
> [vm2]         at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
> [vm2]         at java.security.AccessController.doPrivileged(Native Method)
> [vm2]         at 
> sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
> [vm2]         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [vm2]         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [vm2]         at java.lang.Thread.run(Thread.java:748)
> [vm2] Caused by: java.lang.NullPointerException
> [vm2]         at 
> org.apache.geode.internal.cache.FilterProfile.fillInInterestRoutingInfo(FilterProfile.java:1343)
> [vm2]         at 
> org.apache.geode.internal.cache.FilterProfile.getFilterRoutingInfoPart1(FilterProfile.java:1097)
> [vm2]         at 
> org.apache.geode.internal.cache.CacheDistributionAdvisor.adviseFilterRouting(CacheDistributionAdvisor.java:241)
> [vm2]         at 
> org.apache.geode.internal.cache.TXState.attachFilterProfileInformation(TXState.java:566)
> [vm2]         at 
> org.apache.geode.internal.cache.TXState.commit(TXState.java:480)
> [vm2]         at 
> org.apache.geode.internal.cache.TXStateProxyImpl.commit(TXStateProxyImpl.java:211)
> [vm2]         at 
> org.apache.geode.internal.cache.TXManagerImpl.commit(TXManagerImpl.java:426)
> [vm2]         at 
> org.apache.geode.internal.cache.tier.sockets.command.CommitCommand.commitTransaction(CommitCommand.java:97)
> [vm2]         at 
> org.apache.geode.internal.cache.tier.sockets.command.CommitCommand.cmdExecute(CommitCommand.java:85)
> [vm2]         at 
> org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:177)
> [vm2]         at 
> org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMessage(ServerConnection.java:848)
> [vm2]         at 
> org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:72)
> [vm2]         at 
> org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1212)
> [vm2]         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> [vm2]         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> [vm2]         at 
> org.apache.geode.internal.cache.tier.sockets.AcceptorImpl.lambda$initializeServerConnectionThreadPool$3(AcceptorImpl.java:665)
> [vm2]         at 
> org.apache.geode.internal.logging.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:121)
> [vm2]         ... 1 more



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to