You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by db...@apache.org on 2016/02/02 17:57:39 UTC
[05/25] incubator-trafodion git commit: jira1729
jira1729
Project: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/commit/11f9686b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/tree/11f9686b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-trafodion/diff/11f9686b
Branch: refs/heads/master
Commit: 11f9686b5df87f70b79edac5621da0610c7e70b8
Parents: fc9651f
Author: mashengchen <ma...@gmail.com>
Authored: Mon Jan 11 02:49:44 2016 +0000
Committer: mashengchen <ma...@gmail.com>
Committed: Mon Jan 11 02:49:44 2016 +0000
----------------------------------------------------------------------
core/sqf/sql/scripts/trafcoprocess.properties | 1 +
.../org/trafodion/sql/CoprocessorUtils.java | 55 ++++++++++++++++++++
.../java/org/trafodion/sql/HBaseClient.java | 10 +++-
3 files changed, 64 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/11f9686b/core/sqf/sql/scripts/trafcoprocess.properties
----------------------------------------------------------------------
diff --git a/core/sqf/sql/scripts/trafcoprocess.properties b/core/sqf/sql/scripts/trafcoprocess.properties
new file mode 100644
index 0000000..0bc56f5
--- /dev/null
+++ b/core/sqf/sql/scripts/trafcoprocess.properties
@@ -0,0 +1 @@
+coprocessors=org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionObserver,org.apache.hadoop.hbase.coprocessor.transactional.TrxRegionEndpoint,org.apache.hadoop.hbase.coprocessor.transactional.SsccRegionEndpoint,org.apache.hadoop.hbase.coprocessor.AggregateImplementation
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/11f9686b/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java
----------------------------------------------------------------------
diff --git a/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java b/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java
new file mode 100644
index 0000000..e9535c4
--- /dev/null
+++ b/core/sql/src/main/java/org/trafodion/sql/CoprocessorUtils.java
@@ -0,0 +1,55 @@
+package org.trafodion.sql;
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.PropertiesConfiguration;
+import org.apache.hadoop.hbase.HTableDescriptor;
+import org.apache.log4j.Logger;
+
+public class CoprocessorUtils {
+ private static Logger logger = Logger.getLogger(HBaseClient.class.getName());
+ private static String[] coprocessors = null;
+
+ static {
+ init();
+ }
+
+ private static void init() {
+ Configuration config = null;
+ try {
+ String path = System.getenv("MY_SQROOT") + "/etc/trafcoprocess.properties";
+ config = new PropertiesConfiguration(path);
+ } catch (Exception e) {
+ logger.info("error when finding trafcoprocess.properties");
+ e.printStackTrace();
+ }
+
+ if (config != null) {
+ coprocessors = config.getStringArray("coprocessors");
+ }
+ }
+
+ public static void addCoprocessor(String currentAllClassName, HTableDescriptor desc) throws IOException {
+ if (coprocessors == null) {
+ return;
+ }
+ for (String coprocess : coprocessors) {
+ if (!currentAllClassName.contains(coprocess)) {
+ desc.addCoprocessor(coprocess);
+ }
+ }
+ }
+
+ public static void main(String[] args) {
+ System.out.println("================CoprocessorUtils.main======================");
+ //init();
+ if (coprocessors == null) {
+ return;
+ }
+ for (String coprocess : coprocessors) {
+ System.out.println(coprocess);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-trafodion/blob/11f9686b/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
----------------------------------------------------------------------
diff --git a/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java b/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
index 98ac1b1..66de284 100644
--- a/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
+++ b/core/sql/src/main/java/org/trafodion/sql/HBaseClient.java
@@ -235,6 +235,10 @@ public class HBaseClient {
if (logger.isDebugEnabled()) logger.debug("HBaseClient.create(" + tblName + ") called, and MVCC is " + isMVCC + ".");
cleanupCache(tblName);
HTableDescriptor desc = new HTableDescriptor(tblName);
+ CoprocessorUtils.addCoprocessor(config.get("hbase.coprocessor.region.classes"), desc);
+ for (String str : desc.getCoprocessors()) {
+ logger.debug(tblName + "has coprocessor : " + str);
+ }
for (int i = 0; i < colFamNameList.length ; i++) {
String colFam = (String)colFamNameList[i];
HColumnDescriptor colDesc = new HColumnDescriptor(colFam);
@@ -486,7 +490,10 @@ public class HBaseClient {
String trueStr = "TRUE";
cleanupCache(tblName);
HTableDescriptor desc = new HTableDescriptor(tblName);
-
+ CoprocessorUtils.addCoprocessor(config.get("hbase.coprocessor.region.classes"), desc);
+ for (String str : desc.getCoprocessors()) {
+ logger.debug(tblName + "has coprocessor : " + str);
+ }
int defaultVersionsValue = 0;
if (isMVCC)
defaultVersionsValue = DtmConst.MVCC_MAX_VERSION;
@@ -518,7 +525,6 @@ public class HBaseClient {
metaColDesc.setInMemory(true);
desc.addFamily(metaColDesc);
HBaseAdmin admin = new HBaseAdmin(config);
-
try {
if (beginEndKeys != null && beginEndKeys.length > 0)
{