[ 
https://issues.apache.org/jira/browse/GEODE-5565?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16576772#comment-16576772
 ] 

Jason Huynh commented on GEODE-5565:
------------------------------------

If a region is destroyed during gii, there is a chance that we have allocated 
memory for off heap for the entry, but end up not being able to set the value.  
This bubbles up but never releases the memory.

> Release off heap entry during gii if Region has been destroyed 
> ---------------------------------------------------------------
>
>                 Key: GEODE-5565
>                 URL: https://issues.apache.org/jira/browse/GEODE-5565
>             Project: Geode
>          Issue Type: Bug
>          Components: offheap
>    Affects Versions: 1.0.0-incubating
>            Reporter: Jason Huynh
>            Assignee: Jason Huynh
>            Priority: Major
>
> A RegionDestroyedException can occur at the following stack trace
> at 
> org.apache.geode.internal.cache.DiskStoreImpl.acquireReadLock(DiskStoreImpl.java:1170)
>  at 
> org.apache.geode.internal.cache.DiskRegion.acquireReadLock(DiskRegion.java:649)
>  at 
> org.apache.geode.internal.cache.entries.DiskEntry$Helper.update(DiskEntry.java:856)
>  at 
> org.apache.geode.internal.cache.entries.AbstractDiskRegionEntry.setValue(AbstractDiskRegionEntry.java:38)
>  at 
> org.apache.geode.internal.cache.entries.AbstractDiskRegionEntry.setValue(AbstractDiskRegionEntry.java:32)
>  at 
> org.apache.geode.internal.cache.entries.AbstractRegionEntry.initialImageInit(AbstractRegionEntry.java:747)
>  at 
> org.apache.geode.internal.cache.AbstractRegionMap.initialImagePut(AbstractRegionMap.java:949)
>  at 
> org.apache.geode.internal.cache.InitialImageOperation.processChunk(InitialImageOperation.java:978)
>  at 
> org.apache.geode.internal.cache.InitialImageOperation$ImageProcessor.process(InitialImageOperation.java:1308)
>  at 
> org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:209)
>  at 
> org.apache.geode.internal.cache.InitialImageOperation$ImageReplyMessage.process(InitialImageOperation.java:2796)
>  at 
> org.apache.geode.distributed.internal.ReplyMessage.dmProcess(ReplyMessage.java:193)
>  at 
> org.apache.geode.distributed.internal.ReplyMessage.process(ReplyMessage.java:186)
>  at 
> org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:369)
>  at 
> org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:435)
>  at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>  at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>  at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:1136)
>  at 
> org.apache.geode.distributed.internal.ClusterDistributionManager.access$000(ClusterDistributionManager.java:112)
>  at 
> org.apache.geode.distributed.internal.ClusterDistributionManager$5$1.run(ClusterDistributionManager.java:849)
>  at java.lang.Thread.run(Thread.java:748)
> This ends up with an off heap reference, although the region is no longer 
> there.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to