[
https://issues.apache.org/jira/browse/GEODE-5283?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16502181#comment-16502181
]
ASF subversion and git services commented on GEODE-5283:
--------------------------------------------------------
Commit dbdd78826b6254e0ee58a29f4d0185028d7b3eeb in geode's branch
refs/heads/feature/GEODE-5277 from [~bschuchardt]
[ https://gitbox.apache.org/repos/asf?p=geode.git;h=dbdd788 ]
GEODE-5283: Client transaction fails with TransactionException:
GemFireInternalException
Modified the exception returned to include a CacheClosedException as the cause
and added error handling for this in the reply-processor code
Added a test for this error handling.
This closes #2020
> 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
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.8.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> 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)