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:29:20 UTC

[phoenix] branch 5.1 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 5.1
in repository https://gitbox.apache.org/repos/asf/phoenix.git


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

commit b88338ad6422ad2fbd697bf55da0ea6a8ece9e2e
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 72d6a01..caff1ea 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 f78bbb7..746bfde 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 562bec2..e745987 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 59f8645..a6d9f67 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 9fb5651..27d18ab 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 9a58277..c9929a5 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>