Darrel Schneider created GEODE-2087:
---------------------------------------

             Summary: Transaction commits do not appear to correctly handle 
region destroy, region close, cache close, and entry destroy
                 Key: GEODE-2087
                 URL: https://issues.apache.org/jira/browse/GEODE-2087
             Project: Geode
          Issue Type: Bug
          Components: transactions
            Reporter: Darrel Schneider


The transaction code has a couple of places when doing a commit that it decides 
to ignore RegionDestroyedException, EntryDestroyedException, and 
CancelException. The problem with this is it could cause the commit to report 
success on transactions that did not make all the requested changes. This is 
definitely a problem with persistent regions but may also be a problem with 
non-persistent txs that need to send the tx commit to clients or wans. The 
problem is that the commit may say it happened but not all of its intended 
operations will have been recorded in the disk store nor delivered to clients 
or the wan.

The problematic code is in TXState.applyChanges were it catches 
RegionDestroyedException and CancelException.
It is also in TXEntryState methods: txApplyDestroyLocally, 
txApplyInvalidateLocally, and txApplyPutLocally were they catch 
RegionDestroyedException and EntryDestroyedException.

Ignoring EntryDestroyedException may be ok since the destruction of the entry 
was recorded.

Note that RegionDestroyedException can happen on a region that was closed or 
destroyed and for both of these it seems the commit should fail instead of 
reporting success. 



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

Reply via email to