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)