Alberto Bustamante Reyes created GEODE-8442:
-----------------------------------------------

             Summary: 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


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)

Reply via email to