You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by se...@apache.org on 2016/11/01 00:08:50 UTC

[1/2] incubator-trafodion git commit: [TRAFODION-2325] Reduce path length by avoiding expensive APIs

Repository: incubator-trafodion
Updated Branches:
  refs/heads/master 1b6dfef74 -> 48f20cc52


[TRAFODION-2325] Reduce path length by avoiding expensive APIs

Avoided calling System.getenv() many times


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

Branch: refs/heads/master
Commit: 8e90c5148caca9954fa53f0732e18b8a4abd0e10
Parents: 2c3c7c5
Author: selvaganesang <se...@esgyn.com>
Authored: Fri Oct 28 18:59:36 2016 +0000
Committer: selvaganesang <se...@esgyn.com>
Committed: Fri Oct 28 18:59:36 2016 +0000

----------------------------------------------------------------------
 .../hbase/client/transactional/RMInterface.java | 14 +++----
 .../client/transactional/TransactionState.java  | 41 ++++++++++----------
 .../java/org/trafodion/dtm/HBaseTxClient.java   | 27 ++++++-------
 .../java/org/trafodion/sql/HTableClient.java    | 38 +++++++++---------
 4 files changed, 60 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/8e90c514/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/RMInterface.java
----------------------------------------------------------------------
diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/RMInterface.java b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/RMInterface.java
index e8500b0..a5bb7b2 100644
--- a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/RMInterface.java
+++ b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/RMInterface.java
@@ -93,6 +93,11 @@ public class RMInterface {
     private Connection connection;
     static {
         System.loadLibrary("stmlib");
+        String envset = System.getenv("TM_USE_SSCC");
+        if (envset != null)
+           envTransactionAlgorithm = (Integer.parseInt(envset) == 1) ? AlgorithmType.SSCC : AlgorithmType.MVCC;
+        else
+           envTransactionAlgorithm = AlgorithmType.MVCC;
     }
 
     private native void registerRegion(int port, byte[] hostname, long startcode, byte[] regionInfo);
@@ -112,17 +117,13 @@ public class RMInterface {
        MVCC, SSCC
     }
 
+    private static AlgorithmType envTransactionAlgorithm;
     private AlgorithmType transactionAlgorithm;
 
     public RMInterface(final String tableName, Connection connection) throws IOException {
         //super(conf, Bytes.toBytes(tableName));
         this.connection = connection;
-        transactionAlgorithm = AlgorithmType.MVCC;
-        String envset = System.getenv("TM_USE_SSCC");
-        if( envset != null)
-        {
-            transactionAlgorithm = (Integer.parseInt(envset) == 1) ? AlgorithmType.SSCC : AlgorithmType.MVCC;
-        }
+        transactionAlgorithm = envTransactionAlgorithm;
         if( transactionAlgorithm == AlgorithmType.MVCC) //MVCC
         {
             ttable = new TransactionalTable(Bytes.toBytes(tableName), connection);
@@ -131,7 +132,6 @@ public class RMInterface {
         {
             ttable = new SsccTransactionalTable( Bytes.toBytes(tableName), connection);
         }
-
         idServer = new IdTm(false);
         if (LOG.isTraceEnabled()) LOG.trace("RMInterface constructor exit");
     }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/8e90c514/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java
----------------------------------------------------------------------
diff --git a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java
index a49c1d1..68e8e11 100644
--- a/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java
+++ b/core/sqf/src/seatrans/hbase-trx/src/main/java/org/apache/hadoop/hbase/client/transactional/TransactionState.java
@@ -67,9 +67,9 @@ public class TransactionState {
     private Object commitSendLock;
     private Throwable hasError;
     private boolean localTransaction;
+    private static boolean envLocalTransaction;
     private boolean ddlTrans;
     private static boolean useConcurrentHM = false;
-    private static boolean getCHMVariable = true;
     private boolean hasRetried = false;
     private boolean uteLogged = false;
 
@@ -87,6 +87,23 @@ public class TransactionState {
       return localTransaction;
     }
 
+    static {
+       String concurrentHM = System.getenv("DTM_USE_CONCURRENTHM");
+       if (concurrentHM != null) 
+           useConcurrentHM = (Integer.parseInt(concurrentHM) == 0) ? false : true;
+       else
+           useConcurrentHM = false;
+       if (useConcurrentHM) 
+          LOG.info("Using ConcurrentHashMap synchronization to synchronize participatingRegions");
+       else 
+          LOG.info("Using synchronizedSet to synchronize participatingRegions");
+       String localTxns = System.getenv("DTM_LOCAL_TRANSACTIONS");
+       if (localTxns != null) 
+          envLocalTransaction = (Integer.parseInt(localTxns) == 0) ? false : true;
+       else
+          envLocalTransaction = false; 
+    }
+
     public TransactionState(final long transactionId) {
         this.transactionId = transactionId;
         setStatus(TransState.STATE_ACTIVE);
@@ -98,21 +115,6 @@ public class TransactionState {
         hasError = null;
         ddlTrans = false;
 
-        if(getCHMVariable) {
-          String concurrentHM = System.getenv("DTM_USE_CONCURRENTHM");
-          if (concurrentHM != null) {
-            useConcurrentHM = (Integer.parseInt(concurrentHM)==0)?false:true;
-          }
-          if(LOG.isTraceEnabled()) {
-            if(useConcurrentHM) {
-              LOG.trace("Using ConcurrentHashMap synchronization to synchronize participatingRegions");
-            }
-            else {
-              LOG.trace("Using synchronizedSet to synchronize participatingRegions");
-            }
-          }
-          getCHMVariable = false;
-        }
         if(useConcurrentHM) {
           participatingRegions = Collections.newSetFromMap((new ConcurrentHashMap<TransactionRegionLocation, Boolean>()));
         }
@@ -120,14 +122,11 @@ public class TransactionState {
           participatingRegions = Collections.synchronizedSet(new HashSet<TransactionRegionLocation>());
         }
 
-        String localTxns = System.getenv("DTM_LOCAL_TRANSACTIONS");
-        if (localTxns != null) {
-          localTransaction = (Integer.parseInt(localTxns)==0)?false:true;
-          //System.out.println("TS begin local txn id " + transactionId);
+        localTransaction = envLocalTransaction;
+        if (localTransaction) {
           if (LOG.isTraceEnabled()) LOG.trace("TransactionState local transaction begun: " + transactionId);
         }
         else {
-          localTransaction = false;
           if (LOG.isTraceEnabled()) LOG.trace("TransactionState global transaction begun: " + transactionId);
         }
     }

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/8e90c514/core/sqf/src/seatrans/tm/hbasetmlib2/src/main/java/org/trafodion/dtm/HBaseTxClient.java
----------------------------------------------------------------------
diff --git a/core/sqf/src/seatrans/tm/hbasetmlib2/src/main/java/org/trafodion/dtm/HBaseTxClient.java b/core/sqf/src/seatrans/tm/hbasetmlib2/src/main/java/org/trafodion/dtm/HBaseTxClient.java
index 77c4808..5ec8509 100644
--- a/core/sqf/src/seatrans/tm/hbasetmlib2/src/main/java/org/trafodion/dtm/HBaseTxClient.java
+++ b/core/sqf/src/seatrans/tm/hbasetmlib2/src/main/java/org/trafodion/dtm/HBaseTxClient.java
@@ -890,7 +890,7 @@ public class HBaseTxClient {
       * Thread to gather recovery information for regions that need to be recovered 
       */
      private static class RecoveryThread extends Thread{
-             final int SLEEP_DELAY = 1000; // Initially set to run every 1sec
+             static final int SLEEP_DELAY = 1000; // Initially set to run every 1sec
              private int sleepTimeInt = 0;
              private boolean skipSleep = false;
              private TmAuditTlog audit;
@@ -905,6 +905,16 @@ public class HBaseTxClient {
              private boolean forceForgotten;
              private boolean useTlog;
              HBaseTxClient hbtx;
+             private static int envSleepTimeInt;
+
+         static {
+            String sleepTime = System.getenv("TMRECOV_SLEEP");
+            if (sleepTime != null) 
+               envSleepTimeInt = Integer.parseInt(sleepTime);
+            else
+               envSleepTimeInt = SLEEP_DELAY;
+            LOG.info("Recovery thread sleep set to: " + envSleepTimeInt + " ms");
+         }
 
          public RecoveryThread(TmAuditTlog audit,
                                HBaseTmZK zookeeper,
@@ -934,13 +944,7 @@ public class HBaseTxClient {
                           this.txnManager = txnManager;
                           this.inDoubtList = new HashSet<Long> ();
                           this.tmID = zookeeper.getTMID();
-
-                          String sleepTime = System.getenv("TMRECOV_SLEEP");
-                          if (sleepTime != null) {
-                                this.sleepTimeInt = Integer.parseInt(sleepTime);
-                                if(LOG.isDebugEnabled()) LOG.debug("Recovery thread sleep set to: " +
-                                                                   this.sleepTimeInt + "ms");
-                          }
+                          this.sleepTimeInt = envSleepTimeInt;
              }
 
              public void stopThread() {
@@ -1133,11 +1137,8 @@ public class HBaseTxClient {
                         }
                         try {
                             if(continueThread) {
-                                if(!skipSleep) {
-                                    if (sleepTimeInt > 0)
-                                        Thread.sleep(sleepTimeInt);
-                                    else
-                                        Thread.sleep(SLEEP_DELAY);
+                                if (!skipSleep) {
+                                   Thread.sleep(sleepTimeInt);
                                 }
                             }
                             retryCount = 0;

http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/8e90c514/core/sql/src/main/java/org/trafodion/sql/HTableClient.java
----------------------------------------------------------------------
diff --git a/core/sql/src/main/java/org/trafodion/sql/HTableClient.java b/core/sql/src/main/java/org/trafodion/sql/HTableClient.java
index 5fbd4f9..eb100dc 100644
--- a/core/sql/src/main/java/org/trafodion/sql/HTableClient.java
+++ b/core/sql/src/main/java/org/trafodion/sql/HTableClient.java
@@ -103,6 +103,8 @@ public class HTableClient {
 	private static final int SCAN_FETCH = 3;
 	private boolean useTRex;
 	private boolean useTRexScanner;
+        private static boolean envUseTRex;
+        private static boolean envUseTRexScanner;
 	private String tableName;
         private static Connection connection;
 	private ResultScanner scanner = null;
@@ -334,25 +336,9 @@ public class HTableClient {
 	    else {
 
 		// If the parameter useTRex is false, then do not go thru this logic
-
-		String useTransactions = System.getenv("USE_TRANSACTIONS");
-		if (useTransactions != null) {
-		    int lv_useTransactions = (Integer.parseInt(useTransactions));
-		    if (lv_useTransactions == 0) {
-			this.useTRex = false;
-		    }
-		}
-	    
-		this.useTRexScanner = true;
-		String useTransactionsScanner = System.getenv("USE_TRANSACTIONS_SCANNER");
-		if (useTransactionsScanner != null) {
-		    int lv_useTransactionsScanner = (Integer.parseInt(useTransactionsScanner));
-		    if (lv_useTransactionsScanner == 0) {
-			this.useTRexScanner = false;
-		    }
-		}
+ 	         this.useTRex = envUseTRex;
+	         this.useTRexScanner = envUseTRexScanner;
 	    }
-
 	    table = new RMInterface(tblName, connection);
 	    if (logger.isDebugEnabled()) logger.debug("Exit HTableClient::init, useTRex: " + this.useTRex + ", useTRexScanner: "
 	              + this.useTRexScanner + ", table object: " + table);
@@ -1619,7 +1605,7 @@ public class HTableClient {
 		}	
 	}
     
-    public boolean insertRow(long transID, byte[] rowID, 
+        public boolean insertRow(long transID, byte[] rowID, 
                          Object row, 
 			 long timestamp,
                          boolean asyncOperation) throws IOException, InterruptedException, ExecutionException {
@@ -1880,6 +1866,20 @@ public class HTableClient {
    protected native int setJavaObject(long jniObject);
  
    static {
+     envUseTRex = true;
+     envUseTRexScanner = true;
+     String useTransactions = System.getenv("USE_TRANSACTIONS");
+     if (useTransactions != null) {
+        int lv_useTransactions = (Integer.parseInt(useTransactions));
+        if (lv_useTransactions == 0) 
+           envUseTRex = false;
+     }
+     String useTransactionsScanner = System.getenv("USE_TRANSACTIONS_SCANNER");
+     if (useTransactionsScanner != null) {
+        int lv_useTransactionsScanner = (Integer.parseInt(useTransactionsScanner));
+        if (lv_useTransactionsScanner == 0) 
+           envUseTRexScanner = false;
+     }
      executorService = Executors.newCachedThreadPool();
      System.loadLibrary("executor");
    }


[2/2] incubator-trafodion git commit: Merge [TRAFODION-2325] PR 796 Reduce path length by avoiding expensive APIs

Posted by se...@apache.org.
Merge [TRAFODION-2325] PR 796 Reduce path length by avoiding expensive APIs 


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

Branch: refs/heads/master
Commit: 48f20cc52e52e1fca2fe96937f891959e1c36ef4
Parents: 1b6dfef 8e90c51
Author: selvaganesang <se...@apache.org>
Authored: Tue Nov 1 00:06:58 2016 +0000
Committer: selvaganesang <se...@apache.org>
Committed: Tue Nov 1 00:06:58 2016 +0000

----------------------------------------------------------------------
 .../hbase/client/transactional/RMInterface.java | 14 +++----
 .../client/transactional/TransactionState.java  | 41 ++++++++++----------
 .../java/org/trafodion/dtm/HBaseTxClient.java   | 27 ++++++-------
 .../java/org/trafodion/sql/HTableClient.java    | 38 +++++++++---------
 4 files changed, 60 insertions(+), 60 deletions(-)
----------------------------------------------------------------------