Bruce Schuchardt created GEODE-5283:
---------------------------------------

             Summary: Client transaction fails with TransactionException: 
GemFireInternalException: RemoteOperationException: cache is closing
                 Key: GEODE-5283
                 URL: https://issues.apache.org/jira/browse/GEODE-5283
             Project: Geode
          Issue Type: Test
          Components: transactions
            Reporter: Bruce Schuchardt


In January 2018 RemoteOperationMessage was altered to return different 
exceptions, notably to not return a CacheClosedException to the sender.  
Instead it sends a RemoteOperationException with the text "cache is closing".  
This RemoteOperationException is then rethrown when the reply is received but 
there is no handler for this and a generic GemFireInternalException is thrown.  
That in turn is caught and wrapped in a TransactionException and returned to 
the client.

Error handling needs to be altered so that this situation results in a 
TransactionDataNodeHasDepartedException.

{noformat}
unexpected exception org.apache.geode.cache.TransactionException: 
org.apache.geode.InternalGemFireException: unexpected exception on member 
rs-FullRegression210400555i32xlarge-hydra-client-27(bridgegemfire1_rs-FullRegression210400555i32xlarge-hydra-client-27_28567:28567)<ec><v2>:1032,
 caused by org.apache.geode.InternalGemFireException: unexpected exception on 
member 
rs-FullRegression210400555i32xlarge-hydra-client-27(bridgegemfire1_rs-FullRegression210400555i32xlarge-hydra-client-27_28567:28567)<ec><v2>:1032
        at 
org.apache.geode.internal.cache.tx.AbstractPeerTXRegionStub.getRegionKeysForIteration(AbstractPeerTXRegionStub.java:54)
        at 
org.apache.geode.internal.cache.TXStateStub.getRegionKeysForIteration(TXStateStub.java:678)
        at 
org.apache.geode.internal.cache.TXStateStub.getRegionKeysForIteration(TXStateStub.java:45)
        at 
org.apache.geode.internal.cache.TXStateProxyImpl.getRegionKeysForIteration(TXStateProxyImpl.java:772)
        at 
org.apache.geode.internal.cache.EntriesSet$EntriesIterator.createIterator(EntriesSet.java:213)
        at 
org.apache.geode.internal.cache.EntriesSet$EntriesIterator.<init>(EntriesSet.java:117)
        at 
org.apache.geode.internal.cache.EntriesSet.iterator(EntriesSet.java:83)
        at 
org.apache.geode.internal.cache.tier.sockets.command.KeySet.fillAndSendKeySetResponseChunks(KeySet.java:171)
        at 
org.apache.geode.internal.cache.tier.sockets.command.KeySet.cmdExecute(KeySet.java:129)
        at 
org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:157)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMsg(ServerConnection.java:868)
        at 
org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:85)
        at 
org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1248)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at 
org.apache.geode.internal.cache.tier.sockets.AcceptorImpl$4$1.run(AcceptorImpl.java:644)
        at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.geode.InternalGemFireException: unexpected exception on 
member 
rs-FullRegression210400555i32xlarge-hydra-client-27(bridgegemfire1_rs-FullRegression210400555i32xlarge-hydra-client-27_28567:28567)<ec><v2>:1032
        at 
org.apache.geode.distributed.internal.ReplyException.handleCause(ReplyException.java:100)
        at 
org.apache.geode.internal.cache.tx.RemoteFetchKeysMessage$FetchKeysResponse.waitForKeys(RemoteFetchKeysMessage.java:433)
        at 
org.apache.geode.internal.cache.tx.AbstractPeerTXRegionStub.getRegionKeysForIteration(AbstractPeerTXRegionStub.java:45)
        ... 16 more
Caused by: org.apache.geode.internal.cache.RemoteOperationException: cache is 
closing
        at 
org.apache.geode.internal.cache.tx.RemoteOperationMessage.process(RemoteOperationMessage.java:241)
        at 
org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382)
        at 
org.apache.geode.distributed.internal.DistributionMessage.schedule(DistributionMessage.java:440)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.scheduleIncomingMessage(ClusterDistributionManager.java:3247)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.handleIncomingDMsg(ClusterDistributionManager.java:2909)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager.access$1500(ClusterDistributionManager.java:109)
        at 
org.apache.geode.distributed.internal.ClusterDistributionManager$DMListener.messageReceived(ClusterDistributionManager.java:4035)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.dispatchMessage(GMSMembershipManager.java:1127)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager.handleOrDeferMessage(GMSMembershipManager.java:1045)
        at 
org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipManager$MyDCReceiver.messageReceived(GMSMembershipManager.java:408)
        at 
org.apache.geode.distributed.internal.direct.DirectChannel.receive(DirectChannel.java:732)
        at 
org.apache.geode.internal.tcp.TCPConduit.messageReceived(TCPConduit.java:875)
        at 
org.apache.geode.internal.tcp.Connection.dispatchMessage(Connection.java:3965)
        at 
org.apache.geode.internal.tcp.Connection.processNIOBuffer(Connection.java:3551)
        at 
org.apache.geode.internal.tcp.Connection.runNioReader(Connection.java:1827)
        at org.apache.geode.internal.tcp.Connection.run(Connection.java:1688)
        ... 1 more
{noformat}




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to