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)