Fix for Jira [TRAFODION-1935] part2
TransactionManager needlessly retries in doPrepareX when an
UnknownTransactionException is caught


Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/643b219c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/643b219c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/643b219c

Branch: refs/heads/master
Commit: 643b219cdcc8aa667bf5b5a2ebb2aba269eab94e
Parents: 32916f9
Author: Sean Broeder <sbroeder@edev03.esgyn.local>
Authored: Mon Apr 25 21:46:18 2016 +0000
Committer: Sean Broeder <sbroeder@edev03.esgyn.local>
Committed: Mon Apr 25 21:46:18 2016 +0000

----------------------------------------------------------------------
 .../transactional/TransactionManager.java       | 26 +++++++++-----------
 1 file changed, 12 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/643b219c/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
----------------------------------------------------------------------
diff --git 
a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
 
b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
index 5d11497..3904253 100644
--- 
a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
+++ 
b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionManager.java
@@ -381,7 +381,7 @@ public class TransactionManager {
                   // size is 1
                   for (CommitResponse cresponse : result.values()){
                     if(cresponse.getHasException()) {
-                      String exceptionString = new String 
(cresponse.getException().toString());
+                      String exceptionString = new String 
(cresponse.getException());
                       LOG.error("doCommitX - exceptionString: " + 
exceptionString);
                       if 
(exceptionString.contains("UnknownTransactionException")) {
                         if (ignoreUnknownTransaction == true) {
@@ -403,7 +403,7 @@ public class TransactionManager {
              else {
                   for (CommitResponse cresponse : result.values()){
                     if(cresponse.getHasException()) {
-                      String exceptionString = new String 
(cresponse.getException().toString());
+                      String exceptionString = new String 
(cresponse.getException());
                       LOG.error("doCommitX - exceptionString: " + 
exceptionString);
                       if 
(exceptionString.contains("UnknownTransactionException")) {
                         if (ignoreUnknownTransaction == true) {
@@ -530,7 +530,7 @@ public class TransactionManager {
                   // size is 1
                   for (SsccCommitResponse cresponse : result.values()){
                     if(cresponse.getHasException()) {
-                      String exceptionString = new String 
(cresponse.getException().toString());
+                      String exceptionString = new String 
(cresponse.getException());
                       if 
(exceptionString.contains("UnknownTransactionException")) {
                         if (ignoreUnknownTransaction == true) {
                           if (LOG.isTraceEnabled()) LOG.trace("doCommitX, 
ignoring UnknownTransactionException in cresponse");
@@ -550,7 +550,7 @@ public class TransactionManager {
              }
           }
           catch (Exception e) {
-             if(e.toString().contains("UnknownTransactionException")) {
+             if(e instanceof UnknownTransactionException) {
                 String errMsg = new String("Got unknown exception in doCommitX 
by participant " + participantNum
                          + " for transaction: " + transactionId + " " + e);
                 LOG.error(errMsg);
@@ -747,7 +747,7 @@ public class TransactionManager {
           }
           catch(Exception e) {
              String exceptionString = e.toString();
-             if(exceptionString.contains("UnknownTransactionException")) {
+             if(e instanceof UnknownTransactionException) {
                String errMsg = new String("doPrepareX participant " + 
participantNum + " transaction "
                         + transactionId + " unknown transaction : " + e);
                 LOG.warn(errMsg);
@@ -851,7 +851,7 @@ public class TransactionManager {
           }
           catch(Exception e) {
              String exceptionString = e.toString();
-             if(exceptionString.contains("UnknownTransactionException")) {
+             if(e instanceof UnknownTransactionException) {
                String errMsg = new String("doPrepareX participant " + 
participantNum + " transaction "
                          + transactionId + " unknown transaction : " + e);
                 LOG.warn(errMsg);
@@ -1008,10 +1008,10 @@ public class TransactionManager {
               else {
                  for (AbortTransactionResponse cresponse : result.values()) {
                    if(cresponse.getHasException()) {
-                     String exceptionString = 
cresponse.getException().toString();
+                     String exceptionString = new String 
(cresponse.getException());
                      LOG.error("Abort of transaction: " + transactionId
-                                + " participantNum: " + participantNum + " 
region: " + Bytes.toString(regionName)
-                                + " threw Exception: " + exceptionString);
+                          + " participantNum: " + participantNum + " region: " 
+ Bytes.toString(regionName)
+                          + " threw Exception: " + exceptionString);
                      
if(exceptionString.contains("UnknownTransactionException")) {
                        throw new UnknownTransactionException();
                      }
@@ -1115,7 +1115,7 @@ public class TransactionManager {
                   else {
                      for (SsccAbortTransactionResponse cresponse : 
result.values()) {
                 if(cresponse.getHasException()) {
-                  String exceptionString = cresponse.getException().toString();
+                  String exceptionString = cresponse.getException();
                   LOG.error("Abort of transaction: " + transactionId + " threw 
Exception: " + exceptionString);
                   if(exceptionString.contains("UnknownTransactionException")) {
                          throw new UnknownTransactionException();
@@ -1226,8 +1226,7 @@ public class TransactionManager {
            }
         }
         catch (Exception e) {
-           String exceptionString = e.toString();
-           if(exceptionString.contains("UnknownTransactionException")) {
+           if(e instanceof UnknownTransactionException) {
               String errMsg = new String("Got unknown exception in doCommitX 
for transaction: " + transactionId
                        + " participant " + participantNum + " " + e);
               LOG.error(errMsg);
@@ -1312,8 +1311,7 @@ public class TransactionManager {
           }
        }
        catch(Exception e) {
-          String exceptionString = e.toString();
-          if(exceptionString.contains("UnknownTransactionException")) {
+          if(e instanceof UnknownTransactionException) {
              String errMsg = new String("UnknownTransaction in doPrepareX - 
Batch - by participant "
                      + participantNum + " for transaction " + transactionId + 
" " + e);
              LOG.error(errMsg);

Reply via email to