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 2016/07/05 21:38:11 UTC

[jira] [Created] (GEODE-1621) An IllegalArgumentException can be thrown during TXState cleanup() before resources are released

Eric Shu created GEODE-1621:
-------------------------------

             Summary: An IllegalArgumentException can be thrown during TXState cleanup() before resources are released
                 Key: GEODE-1621
                 URL: https://issues.apache.org/jira/browse/GEODE-1621
             Project: Geode
          Issue Type: Bug
          Components: offheap, transactions
            Reporter: Eric Shu


{noformat}
DLock the transaction holds will be released in the cleanup() call, before releaseing the offheap resources it held. 

The following exception could be thrown and cause the cleanup() call failed before releasing offheap resources.

[info 2016/07/05 12:20:08.643 PDT gemfire3_w2-2013-lin-03_19481 <Pooled Waiting Message Processor 0> tid=0x32] java.lang.IllegalArgumentException: Invalid txLockId not found:  TXLockId: w2-2013-lin-03(gemfire3_w2-2013-lin-03_19481:19481)<ec><v1>:1025-0
        at com.gemstone.gemfire.internal.cache.locks.TXLockServiceImpl.release(TXLockServiceImpl.java:241)
        at com.gemstone.gemfire.internal.cache.TXLockRequest.releaseDistributed(TXLockRequest.java:107)
        at com.gemstone.gemfire.internal.cache.TXLockRequest.cleanup(TXLockRequest.java:139)
        at com.gemstone.gemfire.internal.cache.TXState.cleanup(TXState.java:817)
        at com.gemstone.gemfire.internal.cache.TXState.commit(TXState.java:487)
        at com.gemstone.gemfire.internal.cache.TXStateProxyImpl.commit(TXStateProxyImpl.java:248)
        at com.gemstone.gemfire.internal.cache.TXManagerImpl.commit(TXManagerImpl.java:354)
        at com.gemstone.gemfire.internal.cache.TXRemoteCommitMessage.operateOnTx(TXRemoteCommitMessage.java:106)
        at com.gemstone.gemfire.internal.cache.TXMessage.process(TXMessage.java:89)
        at com.gemstone.gemfire.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:379)
        at com.gemstone.gemfire.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:450)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at com.gemstone.gemfire.distributed.internal.DistributionManager.runUntilShutdown(DistributionManager.java:611)
        at com.gemstone.gemfire.distributed.internal.DistributionManager$6$1.run(DistributionManager.java:951)
        at java.lang.Thread.run(Thread.java:745)

*** The exception thrown is because the TXLockServices were destroyed during cahce.close() ***
*** And the newly created TXLockServices does not hold the DLock for the created by the transaction ***


{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)