You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by st...@apache.org on 2022/02/02 04:23:42 UTC

[phoenix] branch master updated: PHOENIX-6638 Test suite fails with -Dwithout.tephra

This is an automated email from the ASF dual-hosted git repository.

stoty pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/master by this push:
     new 1c75f46  PHOENIX-6638 Test suite fails with -Dwithout.tephra
1c75f46 is described below

commit 1c75f46d0740e93f9a8c5d214fc27c4ac37ac511
Author: Istvan Toth <st...@apache.org>
AuthorDate: Tue Feb 1 10:31:14 2022 +0100

    PHOENIX-6638 Test suite fails with -Dwithout.tephra
---
 .../phoenix/transaction/TephraTransactionProvider.java      | 10 +++++-----
 .../org/apache/phoenix/transaction/TransactionFactory.java  | 13 ++++++++-----
 phoenix-hbase-compat-2.1.6/pom.xml                          |  7 ++++++-
 phoenix-hbase-compat-2.2.5/pom.xml                          |  6 ++++++
 phoenix-hbase-compat-2.3.0/pom.xml                          |  6 ++++++
 phoenix-hbase-compat-2.4.0/pom.xml                          |  6 ++++++
 phoenix-hbase-compat-2.4.1/pom.xml                          |  6 ++++++
 pom.xml                                                     | 12 ++++++++++--
 8 files changed, 53 insertions(+), 13 deletions(-)

diff --git a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionProvider.java b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionProvider.java
index f3ff188..9a216ee 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionProvider.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TephraTransactionProvider.java
@@ -52,24 +52,24 @@ import com.google.inject.util.Providers;
 
 public class TephraTransactionProvider implements PhoenixTransactionProvider {
     private static final TephraTransactionProvider INSTANCE = new TephraTransactionProvider();
-    
+
     public static final TephraTransactionProvider getInstance() {
         return INSTANCE;
     }
-    
+
     private TephraTransactionProvider() {
     }
-    
+
     @Override
     public String toString() {
         return getProvider().toString();
     }
-    
+
     @Override
     public PhoenixTransactionContext getTransactionContext(byte[] txnBytes) throws IOException {
        return new TephraTransactionContext(txnBytes);
     }
-    
+
     @Override
     public PhoenixTransactionContext getTransactionContext(PhoenixConnection connection) throws SQLException {
         return new TephraTransactionContext(connection);
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java
index ec55920..ab0d4c9 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/transaction/TransactionFactory.java
@@ -18,20 +18,23 @@
 package org.apache.phoenix.transaction;
 
 import java.io.IOException;
-import java.util.List;
 
 import org.apache.phoenix.coprocessor.MetaDataProtocol;
 
 public class TransactionFactory {
 
-    private static PhoenixTransactionProvider tephraTransactionProvider;
+    private static final PhoenixTransactionProvider tephraTransactionProvider;
 
     static{
+        boolean tephraEnabled = true;
         try {
-            tephraTransactionProvider = (PhoenixTransactionProvider)
-                    Class.forName("org.apache.phoenix.transaction.TephraTransactionProvider")
-                    .getMethod("getInstance").invoke(null);
+            Class.forName("org.apache.tephra.TransactionFailureException");
         } catch (Throwable e) {
+            tephraEnabled = false;
+        }
+        if (tephraEnabled) {
+            tephraTransactionProvider = TephraTransactionProvider.getInstance();
+        } else {
             tephraTransactionProvider = NotAvailableTransactionProvider.getInstance();
         }
     }
diff --git a/phoenix-hbase-compat-2.1.6/pom.xml b/phoenix-hbase-compat-2.1.6/pom.xml
index a3da830..9c92608 100644
--- a/phoenix-hbase-compat-2.1.6/pom.xml
+++ b/phoenix-hbase-compat-2.1.6/pom.xml
@@ -98,7 +98,12 @@
       <version>${hbase21.compat.version}</version>
       <scope>provided</scope>
     </dependency>
+    <!-- Build with -Dwithout.tephra fails without this -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
-
 </project>
diff --git a/phoenix-hbase-compat-2.2.5/pom.xml b/phoenix-hbase-compat-2.2.5/pom.xml
index 6bd35da..a0bd138 100644
--- a/phoenix-hbase-compat-2.2.5/pom.xml
+++ b/phoenix-hbase-compat-2.2.5/pom.xml
@@ -97,6 +97,12 @@
       <version>${hbase22.compat.version}</version>
       <scope>provided</scope>
     </dependency>
+    <!-- Build with -Dwithout.tephra fails without this -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/phoenix-hbase-compat-2.3.0/pom.xml b/phoenix-hbase-compat-2.3.0/pom.xml
index cca6199..c1afaee 100644
--- a/phoenix-hbase-compat-2.3.0/pom.xml
+++ b/phoenix-hbase-compat-2.3.0/pom.xml
@@ -103,6 +103,12 @@
       <version>${slf4j.version}</version>
       <scope>provided</scope>
     </dependency>
+    <!-- Build with -Dwithout.tephra fails without this -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/phoenix-hbase-compat-2.4.0/pom.xml b/phoenix-hbase-compat-2.4.0/pom.xml
index 9f12944..49014ae 100644
--- a/phoenix-hbase-compat-2.4.0/pom.xml
+++ b/phoenix-hbase-compat-2.4.0/pom.xml
@@ -103,6 +103,12 @@
       <version>${slf4j.version}</version>
       <scope>provided</scope>
     </dependency>
+    <!-- Build with -Dwithout.tephra fails without this -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/phoenix-hbase-compat-2.4.1/pom.xml b/phoenix-hbase-compat-2.4.1/pom.xml
index cdc475a..c761eaa 100644
--- a/phoenix-hbase-compat-2.4.1/pom.xml
+++ b/phoenix-hbase-compat-2.4.1/pom.xml
@@ -103,6 +103,12 @@
       <version>${slf4j.version}</version>
       <scope>provided</scope>
     </dependency>
+    <!-- Build with -Dwithout.tephra fails without this -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
 
 </project>
diff --git a/pom.xml b/pom.xml
index 57d13ca..8cfda4f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1553,7 +1553,11 @@
             <artifactId>maven-failsafe-plugin</artifactId>
             <configuration>
               <classpathDependencyExcludes>
-                org.apache.tephra:tephra-api,org.apache.tephra:tephra-core,org.apache.thrift:libthrift
+                <classpathDependencyExclude>org.apache.tephra:tephra-api</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.tephra:tephra-core-shaded</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.tephra:tephra-core</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.tephra:tephra-hbase-compat-${tephra.hbase.compat.version}</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.thrift:libthrift</classpathDependencyExclude>
               </classpathDependencyExcludes>
             </configuration>
           </plugin>
@@ -1562,7 +1566,11 @@
             <artifactId>maven-surefire-plugin</artifactId>
             <configuration>
               <classpathDependencyExcludes>
-                org.apache.tephra:tephra-api,org.apache.tephra:tephra-core,org.apache.thrift:libthrift
+                <classpathDependencyExclude>org.apache.tephra:tephra-api</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.tephra:tephra-core-shaded</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.tephra:tephra-core</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.tephra:tephra-hbase-compat-${tephra.hbase.compat.version}</classpathDependencyExclude>
+                <classpathDependencyExclude>org.apache.thrift:libthrift</classpathDependencyExclude>
               </classpathDependencyExcludes>
             </configuration>
           </plugin>