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)

Reply via email to