[ https://issues.apache.org/jira/browse/GEODE-1621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Shu resolved GEODE-1621. ----------------------------- Resolution: Fixed > 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 > Assignee: 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)