You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Alberto Bustamante Reyes (Jira)" <ji...@apache.org> on 2020/08/21 07:26:00 UTC

[jira] [Assigned] (GEODE-8442) Exception in server not identified correctly in client

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

Alberto Bustamante Reyes reassigned GEODE-8442:
-----------------------------------------------

    Assignee: Alberto Bustamante Reyes

> 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: Alberto Bustamante Reyes
>            Priority: Major
>
> 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 sensible 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)