[ https://issues.apache.org/jira/browse/GEODE-8442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17332535#comment-17332535 ]
ASF subversion and git services commented on GEODE-8442: -------------------------------------------------------- Commit 0f40b8d8b5d530c5f650593526c01c0185d5efba in geode-native's branch refs/heads/develop from Mario Kevo [ https://gitbox.apache.org/repos/asf?p=geode-native.git;h=0f40b8d ] GEODE-8442: Exception in server not identified correctly in client (#713) * Exception in server not identified correctly in client > Exception in server not identified correctly in client > ------------------------------------------------------ > > Key: GEODE-8442 > URL: https://issues.apache.org/jira/browse/GEODE-8442 > Project: Geode > Issue Type: Bug > Components: native client > Reporter: Alberto Bustamante Reyes > Assignee: Mario Kevo > Priority: Major > Labels: needs-review, pull-request-available > > Native client is not identifying correctly an exception returned by the > server. > This is a log from an exception properly identified (I have introduced "????" > where I think I have to hide sensitive information): > {code} > [error 2020/07/22 09:17:10.831337 UTC ????] > CacheTransactionManager::failover: An exception > (org.apache.geode.cache.TransactionDataNodeHasDepartedException: Could not > find transaction host for TXId: > ????(default_GeodeDS:1:loner):3:Native_gdbdedfebe1:default_GeodeDS:6022 > at > org.apache.geode.internal.cache.tier.sockets.command.TXFailoverCommand.cmdExecute(TXFailoverCommand.java:126) > at > org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:177) > at > org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMessage(ServerConnection.java:848) > at > org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:72) > at > org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1212) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at > org.apache.geode.internal.cache.tier.sockets.AcceptorImpl.lambda$initializeServerConnectionThreadPool$3(AcceptorImpl.java:676) > at > org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119) > at java.base/java.lang.Thread.run(Thread.java:834) > ) happened at remote server. > data-access: write_element:[TransactionDataNodeHasDepartedException] > ????.get(????)::apache::geode::client::TransactionDataNodeHasDepartedException:org.apache.geode.cache.TransactionDataNodeHasDepartedException: > Could not find transaction host for TXId: > ????(default_GeodeDS:1:loner):3:Native_gdbdedfebe1:default_GeodeDS:6022 > {code} > But in this case, although the exception received is also a > TransactionDataNodeHasDepartedException, it is "translated" to an Unknown > exception: > {code} > [error 2020/07/22 09:17:10.979506 UTC ????] Region::containsKeyOnServer:: An > exception (org.apache.geode.cache.TransactionDataNodeHasDepartedException: > Transaction data node 192.168.240.13(dms-server-1:1)<v1>:41000 has departed. > To proceed, rollback this transaction and begin a new one., caused by > org.apache.geode.internal.cache.ForceReattemptException: PartitionResponse > got remote CacheClosedException > at > org.apache.geode.internal.cache.tx.PartitionedTXRegionStub.containsKey(PartitionedTXRegionStub.java:247) > at > org.apache.geode.internal.cache.TXStateStub.containsKey(TXStateStub.java:431) > at > org.apache.geode.internal.cache.TXStateProxyImpl.containsKey(TXStateProxyImpl.java:530) > at > org.apache.geode.internal.cache.PartitionedRegion.containsKey(PartitionedRegion.java:6402) > at > org.apache.geode.internal.cache.tier.sockets.command.ContainsKey66.cmdExecute(ContainsKey66.java:138) > at > org.apache.geode.internal.cache.tier.sockets.BaseCommand.execute(BaseCommand.java:177) > at > org.apache.geode.internal.cache.tier.sockets.ServerConnection.doNormalMessage(ServerConnection.java:848) > at > org.apache.geode.internal.cache.tier.sockets.OriginalServerConnection.doOneMessage(OriginalServerConnection.java:72) > at > org.apache.geode.internal.cache.tier.sockets.ServerConnection.run(ServerConnection.java:1212) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at > org.apache.geode.internal.cache.tier.sockets.AcceptorImpl.lambda$initializeServerConnectionThreadPool$3(AcceptorImpl.java:676) > at > org.apache.geode.logging.internal.executors.LoggingThreadFactory.lambda$newThread$0(LoggingThreadFactory.java:119) > at java.base/java.lang.Thread.run(Thread.java:834) > Caused by: org.apache.geode.internal.cache.ForceReattemptException: > PartitionResponse got remote CacheClosedException > at > org.apache.geode.internal.cache.partitioned.PartitionMessage$PartitionResponse.waitForCacheException(PartitionMessage.java:837) > at > org.apache.geode.internal.cache.partitioned.ContainsKeyValueMessage$ContainsKeyValueResponse.waitForContainsResult(ContainsKeyValueMessage.java:295) > at > org.apache.geode.internal.cache.PartitionedRegion.containsKeyRemotely(PartitionedRegion.java:6558) > at > org.apache.geode.internal.cache.tx.PartitionedTXRegionStub.containsKey(PartitionedTXRegionStub.java:231) > ... 13 more > Caused by: org.apache.geode.cache.CacheClosedException: Remote cache is > closed: 192.168.240.13(dms-server-1:1)<v1>:41000 > at > org.apache.geode.internal.cache.GemFireCacheImpl.getCacheClosedException(GemFireCacheImpl.java:1630) > at > org.apache.geode.internal.cache.GemFireCacheImpl.getCacheClosedException(GemFireCacheImpl.java:1619) > at > org.apache.geode.internal.cache.partitioned.PartitionMessage.process(PartitionMessage.java:307) > at > org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:376) > at > org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:440) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at > org.apache.geode.distributed.internal.ClusterOperationExecutors.runUntilShutdown(ClusterOperationExecutors.java:442) > at > org.apache.geode.distributed.internal.ClusterOperationExecutors.doPartitionRegionThread(ClusterOperationExecutors.java:422) > ... 2 more > ) happened at remote server. > [info 2020/07/22 09:17:10.979514 UTC ????] error code: 12 > [fine 2020/07/22 09:17:10.979869 UTC ????] sendSyncRequest:: retry = 0 > [fine 2020/07/22 09:17:10.979874 UTC ????] sendRequestConnWithRetry:: > maxSendRetries = 1 > data-access: write_element:[Exception] > SmSessions.containsKeyOnServer(????):apache::geode::client::UnknownException:Replay > is unsupported: > org.apache.geode.cache.TransactionDataNodeHasDepartedException: Transaction > data node 192.168.240.13(????)<v1>:41000 has departed. To proceed, rollback > this transaction and begin a new one, caused by > org.apache.geode.internal.cache.ForceReattemptException: PartitionResponse > got remote CacheClosedException > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)