You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@geode.apache.org by "Swapnil Bawaskar (JIRA)" <ji...@apache.org> on 2016/10/25 07:18:10 UTC

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

     [ https://issues.apache.org/jira/browse/GEODE-1621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Swapnil Bawaskar closed GEODE-1621.
-----------------------------------

> 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
>             Fix For: 1.0.0-incubating
>
>
> {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)