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)