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 ***