[ 
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)

Reply via email to