[
https://issues.apache.org/jira/browse/GEODE-5573?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Darrel Schneider reassigned GEODE-5573:
---------------------------------------
Assignee: Darrel Schneider
> evict destroy can leave a region entry in the cache whose value is
> REMOVE_PHASE1
> --------------------------------------------------------------------------------
>
> Key: GEODE-5573
> URL: https://issues.apache.org/jira/browse/GEODE-5573
> Project: Geode
> Issue Type: Bug
> Components: eviction
> Reporter: Darrel Schneider
> Assignee: Darrel Schneider
> Priority: Major
>
> The RegionMapDestroy code has a finally block to remove the region entry that
> the destroy temporarily added if the destroy operation failed for some
> region. The code in question is in:
> org.apache.geode.internal.cache.map.RegionMapDestroy.retryRemoveWithTombstone()
> At the end of the method it does a putIfAbsent if the new region entry that
> contains REMOVE_PHASE1 but then only cleans it up (by calling
> removeEntryOrLeaveTombstone) if the current destroy operation is not from
> eviction. So in the eviction case we can end up leaving this REMOVE_PHASE1
> entry in the map.
> The contract for REMOVE_PHASE1 is that whoever set the region entry to
> REMOVE_PHASE1 will also set it to REMOVE_PHASE2. But that never happens in
> this case. I'm not sure if this will cause a serious problem in our current
> code base but it would be best to have eviction clean this entry up or to not
> even create the entry in the first place if that can be done.
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)