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:52:17 UTC

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


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

commit 7558ed2c380c5e2e82c923a73114843aedddc700
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 ++++++++-----
 pom.xml                                                     | 12 ++++++++++--
 3 files changed, 23 insertions(+), 12 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/pom.xml b/pom.xml
index 86fb020..fa66753 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1251,7 +1251,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>
@@ -1260,7 +1264,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>