Darrel Schneider created GEODE-1788:
---------------------------------------

             Summary: AbstractRegionMap.txApplyDestroy may add DESTROY token to 
map when not doing a GII
                 Key: GEODE-1788
                 URL: https://issues.apache.org/jira/browse/GEODE-1788
             Project: Geode
          Issue Type: Bug
          Components: regions
            Reporter: Darrel Schneider


The txApplyDestroy code has a code path in which it will add a DESTROY token to 
the map and the entry value. But the product only expects DESTROY tokens if a 
GII is in progress. But in txApplyDestroy it will also happen if concurrency 
checks are enabled. 
It might be ok because most code will just treat the DESTROY token as if the 
entry does not exist and that is what this code desires. But it should be using 
REMOVED_PHASE1 in this case. Only if "inTokenMode" is true should it add a 
DESTROY token.

The place in the code that should be changed to fix this bug is marked with 
this comment:
  // TODO: if inTokenMode then Token.DESTROYED is ok but what about 
!inTokenMode because owner.concurrencyChecksEnabled? In that case we do not 
want a DESTROYED token.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to