You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Eric Shu (JIRA)" <ji...@apache.org> on 2018/09/07 21:48:00 UTC
[jira] [Commented] (GEODE-5697) SingleThreadJTAExecutor.cleanup
method should ignore exception thrown during cache close
[ https://issues.apache.org/jira/browse/GEODE-5697?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16607700#comment-16607700 ]
Eric Shu commented on GEODE-5697:
---------------------------------
See another issue that BeforeCompletion.doOp could fail with CacheClosedException and this could cause afterCompletion.doOp not being executed. Will handle this issue as well in this ticket.
{noformat}
org.apache.geode.cache.CacheClosedException: The cache is closed.
at org.apache.geode.internal.cache.GemFireCacheImpl$Stopper.generateCancelledException(GemFireCacheImpl.java:1563)
at org.apache.geode.internal.cache.LocalRegion$Stopper.generateCancelledException(LocalRegion.java:541)
at org.apache.geode.CancelCriterion.checkCancelInProgress(CancelCriterion.java:83)
at org.apache.geode.internal.cache.TXEntryState.checkForConflict(TXEntryState.java:1462)
at org.apache.geode.internal.cache.TXRegionState.checkForConflicts(TXRegionState.java:282)
at org.apache.geode.internal.cache.TXState.checkForConflicts(TXState.java:679)
at org.apache.geode.internal.cache.TXState.reserveAndCheck(TXState.java:364)
at org.apache.geode.internal.cache.TXState.doBeforeCompletion(TXState.java:1070)
at org.apache.geode.internal.cache.BeforeCompletion.doOp(BeforeCompletion.java:33)
at org.apache.geode.internal.cache.SingleThreadJTAExecutor.doOps(SingleThreadJTAExecutor.java:47)
at org.apache.geode.internal.cache.SingleThreadJTAExecutor.lambda$executeBeforeCompletion$0(SingleThreadJTAExecutor.java:57)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:1136)
at org.apache.geode.distributed.internal.ClusterDistributionManager.access$000(ClusterDistributionManager.java:112)
at org.apache.geode.distributed.internal.ClusterDistributionManager$6$1.run(ClusterDistributionManager.java:882)
at java.lang.Thread.run(Thread.java:748)
{noformat}
> SingleThreadJTAExecutor.cleanup method should ignore exception thrown during cache close
> ----------------------------------------------------------------------------------------
>
> Key: GEODE-5697
> URL: https://issues.apache.org/jira/browse/GEODE-5697
> Project: Geode
> Issue Type: Bug
> Components: transactions
> Reporter: Eric Shu
> Assignee: Eric Shu
> Priority: Major
>
> The following exception cause some of the TXState is not being cleaned up due to the following exception.
> {noformat}
> org.apache.geode.cache.CacheClosedException: The cache is closed.
> at org.apache.geode.internal.cache.GemFireCacheImpl$Stopper.generateCancelledException(GemFireCacheImpl.java:1563)
> at org.apache.geode.CancelCriterion.checkCancelInProgress(CancelCriterion.java:83)
> at org.apache.geode.internal.cache.AfterCompletion.waitForCondition(AfterCompletion.java:65)
> at org.apache.geode.internal.cache.AfterCompletion.waitUntilFinished(AfterCompletion.java:89)
> at org.apache.geode.internal.cache.AfterCompletion.signalAndWaitForDoOp(AfterCompletion.java:82)
> at org.apache.geode.internal.cache.AfterCompletion.cancel(AfterCompletion.java:94)
> at org.apache.geode.internal.cache.SingleThreadJTAExecutor.cleanup(SingleThreadJTAExecutor.java:65)
> at org.apache.geode.internal.cache.TXState.cleanup(TXState.java:875)
> at org.apache.geode.internal.cache.TXState.close(TXState.java:863)
> at org.apache.geode.internal.cache.TXStateProxyImpl.close(TXStateProxyImpl.java:925)
> at org.apache.geode.internal.cache.TXManagerImpl.close(TXManagerImpl.java:663)
> at org.apache.geode.internal.cache.GemFireCacheImpl.close(GemFireCacheImpl.java:2408)
> at org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1372)
> at org.apache.geode.distributed.internal.InternalDistributedSystem.disconnect(InternalDistributedSystem.java:1022)
> at hydra.RemoteTestModule$3.run(RemoteTestModule.java:416)
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)