geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Darrel Schneider (JIRA)" <j...@apache.org>
Subject [jira] [Created] (GEODE-1788) AbstractRegionMap.txApplyDestroy may add DESTROY token to map when not doing a GII
Date Tue, 16 Aug 2016 00:08:20 GMT
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)

Mime
View raw message