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(-)
----------------------------------------------------------------------