This is an automated email from the ASF dual-hosted git repository. eshu11 pushed a commit to branch feature/GEODE-5624 in repository https://gitbox.apache.org/repos/asf/geode.git
commit bc42e832365d3c0a4adfe8d2ea647da419b29c5a Author: eshu <e...@pivotal.io> AuthorDate: Mon Aug 27 13:30:37 2018 -0700 restore catch InternalGemFireError. --- .../org/apache/geode/internal/cache/TXState.java | 54 ++++++++++++---------- 1 file changed, 30 insertions(+), 24 deletions(-) diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java b/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java index 83d00d1..d0063a6 100644 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/TXState.java @@ -33,6 +33,7 @@ import org.apache.logging.log4j.Logger; import org.apache.geode.CancelCriterion; import org.apache.geode.CancelException; +import org.apache.geode.InternalGemFireError; import org.apache.geode.SystemFailure; import org.apache.geode.cache.CommitConflictException; import org.apache.geode.cache.DiskAccessException; @@ -44,6 +45,7 @@ import org.apache.geode.cache.Region.Entry; import org.apache.geode.cache.RegionDestroyedException; import org.apache.geode.cache.SynchronizationCommitConflictException; import org.apache.geode.cache.TransactionDataRebalancedException; +import org.apache.geode.cache.TransactionException; import org.apache.geode.cache.TransactionId; import org.apache.geode.cache.TransactionWriter; import org.apache.geode.cache.TransactionWriterException; @@ -1123,31 +1125,35 @@ public class TXState implements TXStateInterface { void doAfterCompletion(int status) { final long opStart = CachePerfStats.getStatTime(); - switch (status) { - case Status.STATUS_COMMITTED: - Assert.assertTrue(this.locks != null, - "Gemfire Transaction afterCompletion called with illegal state."); - try { - proxy.getTxMgr().setTXState(null); - commit(); - saveTXCommitMessageForClientFailover(); - } catch (CommitConflictException error) { - Assert.assertTrue(false, "Gemfire Transaction " + getTransactionId() - + " afterCompletion failed.due to CommitConflictException: " + error); - } + try { + switch (status) { + case Status.STATUS_COMMITTED: + Assert.assertTrue(this.locks != null, + "Gemfire Transaction afterCompletion called with illegal state."); + try { + proxy.getTxMgr().setTXState(null); + commit(); + saveTXCommitMessageForClientFailover(); + } catch (CommitConflictException error) { + Assert.assertTrue(false, "Gemfire Transaction " + getTransactionId() + + " afterCompletion failed.due to CommitConflictException: " + error); + } - this.proxy.getTxMgr().noteCommitSuccess(opStart, this.jtaLifeTime, this); - this.locks = null; - break; - case Status.STATUS_ROLLEDBACK: - this.jtaLifeTime = opStart - getBeginTime(); - this.proxy.getTxMgr().setTXState(null); - rollback(); - saveTXCommitMessageForClientFailover(); - this.proxy.getTxMgr().noteRollbackSuccess(opStart, this.jtaLifeTime, this); - break; - default: - Assert.assertTrue(false, "Unknown JTA Synchronization status " + status); + this.proxy.getTxMgr().noteCommitSuccess(opStart, this.jtaLifeTime, this); + this.locks = null; + break; + case Status.STATUS_ROLLEDBACK: + this.jtaLifeTime = opStart - getBeginTime(); + this.proxy.getTxMgr().setTXState(null); + rollback(); + saveTXCommitMessageForClientFailover(); + this.proxy.getTxMgr().noteRollbackSuccess(opStart, this.jtaLifeTime, this); + break; + default: + Assert.assertTrue(false, "Unknown JTA Synchronization status " + status); + } + } catch (InternalGemFireError error) { + throw new TransactionException(error); } }