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 2023/11/06 08:33:22 UTC

(phoenix) branch 5.1 updated: PHOENIX-6523 Support for HBase Registry Implementations through Phoenix connection URL addendum:fix compilation with older HBase versions, use hbase.client.bootstrap.servers for RPCRegistry

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 fc9a0d2fa8 PHOENIX-6523 Support for HBase Registry Implementations through Phoenix connection URL addendum:fix compilation with older HBase versions, use hbase.client.bootstrap.servers for RPCRegistry
fc9a0d2fa8 is described below

commit fc9a0d2fa8a54b713897e4797d71b554787eaff2
Author: Istvan Toth <st...@apache.org>
AuthorDate: Mon Nov 6 09:32:12 2023 +0100

    PHOENIX-6523 Support for HBase Registry Implementations through Phoenix connection URL addendum:fix compilation with older HBase versions, use hbase.client.bootstrap.servers for RPCRegistry
---
 .../src/it/java/org/apache/phoenix/end2end/ConnectionIT.java     | 6 ++++--
 .../java/org/apache/phoenix/jdbc/AbstractRPCConnectionInfo.java  | 4 ++--
 .../src/main/java/org/apache/phoenix/jdbc/ConnectionInfo.java    | 9 +++++++--
 .../main/java/org/apache/phoenix/jdbc/MasterConnectionInfo.java  | 2 +-
 .../src/main/java/org/apache/phoenix/jdbc/RPCConnectionInfo.java | 2 +-
 5 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionIT.java
index 243b3c730a..9e5ac1d104 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionIT.java
@@ -48,6 +48,8 @@ public class ConnectionIT {
     private static HBaseTestingUtility hbaseTestUtil;
     private static Configuration conf;
 
+    protected static final String MASTER_ADDRS_KEY = "hbase.masters";
+
     private static int tableCounter;
 
     @BeforeClass
@@ -125,7 +127,7 @@ public class ConnectionIT {
     public void testMasterConnections() throws SQLException {
         assumeTrue(VersionInfo.compareVersion(VersionInfo.getVersion(), "2.3.0") >= 0);
         int masterPortString = conf.getInt(HConstants.MASTER_PORT, HConstants.DEFAULT_MASTER_PORT);
-        String masterHosts = conf.get(HConstants.MASTER_ADDRS_KEY);
+        String masterHosts = conf.get(MASTER_ADDRS_KEY);
         try (PhoenixConnection conn1 =
                 (PhoenixConnection) DriverManager.getConnection("jdbc:phoenix+master");
                 PhoenixConnection conn2 =
@@ -140,7 +142,7 @@ public class ConnectionIT {
     @Test
     public void testRPCConnections() throws SQLException {
         assumeTrue(VersionInfo.compareVersion(VersionInfo.getVersion(), "2.5.0") >= 0);
-        String masterHosts = conf.get(HConstants.MASTER_ADDRS_KEY);
+        String masterHosts = conf.get(MASTER_ADDRS_KEY);
 
         try (PhoenixConnection conn1 =
                 (PhoenixConnection) DriverManager.getConnection("jdbc:phoenix+rpc");
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/AbstractRPCConnectionInfo.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/AbstractRPCConnectionInfo.java
index babfdb622c..d362a86714 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/AbstractRPCConnectionInfo.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/AbstractRPCConnectionInfo.java
@@ -34,8 +34,8 @@ import org.apache.phoenix.util.ReadOnlyProps;
  */
 public abstract class AbstractRPCConnectionInfo extends ConnectionInfo {
 
-    private static final String MASTER_ADDRS_KEY = "hbase.masters";
-    private static final String MASTER_HOSTNAME_KEY = "hbase.master.hostname";
+    protected static final String MASTER_ADDRS_KEY = "hbase.masters";
+    protected static final String MASTER_HOSTNAME_KEY = "hbase.master.hostname";
 
     protected String bootstrapServers;
 
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/ConnectionInfo.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/ConnectionInfo.java
index a9543f2356..1b566dd362 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/ConnectionInfo.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/ConnectionInfo.java
@@ -60,7 +60,7 @@ public abstract class ConnectionInfo {
 
     static {
         String version = VersionInfo.getVersion();
-        if (VersionInfo.getMajorVersion(version) >= 3) {
+        if (getMajorVersion(version) >= 3) {
             HAS_MASTER_REGISTRY = true;
             HAS_RPC_REGISTRY = true;
         } else {
@@ -82,6 +82,11 @@ public abstract class ConnectionInfo {
                 .setMessage(url).build().buildException();
     }
 
+    // Copied from HBase VersionInfo. Older HBase versions don't have this method.
+    protected static int getMajorVersion(String version) {
+        return Integer.parseInt(version.split("\\.")[0]);
+    }
+
     protected final boolean isConnectionless;
     protected final String principal;
     protected final String keytab;
@@ -157,7 +162,7 @@ public abstract class ConnectionInfo {
                 builder = new ZKConnectionInfo.Builder(url, configuration, props, info);
             } else {
                 // No registry class set in config. Use version-dependent default
-                if (VersionInfo.getMajorVersion(VersionInfo.getVersion()) >= 3) {
+                if (getMajorVersion(VersionInfo.getVersion()) >= 3) {
                     builder = new RPCConnectionInfo.Builder(url, configuration, props, info);
                 } else {
                     builder = new ZKConnectionInfo.Builder(url, configuration, props, info);
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/MasterConnectionInfo.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/MasterConnectionInfo.java
index 6bb210aadc..cece24eed3 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/MasterConnectionInfo.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/MasterConnectionInfo.java
@@ -54,7 +54,7 @@ public class MasterConnectionInfo extends AbstractRPCConnectionInfo {
 
         if (bootstrapServers != null) {
             // This is already normalized to include ports
-            connectionProps.put(HConstants.MASTER_ADDRS_KEY, bootstrapServers);
+            connectionProps.put(MASTER_ADDRS_KEY, bootstrapServers);
         }
 
         return connectionProps.isEmpty() ? ReadOnlyProps.EMPTY_PROPS
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/RPCConnectionInfo.java b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/RPCConnectionInfo.java
index 06a75a5a7f..b235565870 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/RPCConnectionInfo.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/RPCConnectionInfo.java
@@ -59,7 +59,7 @@ public class RPCConnectionInfo extends AbstractRPCConnectionInfo {
 
         if (getBoostrapServers() != null) {
             // This is already normalized to include ports
-            connectionProps.put(HConstants.MASTER_ADDRS_KEY, bootstrapServers);
+            connectionProps.put(BOOTSTRAP_NODES, bootstrapServers);
         }
 
         return connectionProps.isEmpty() ? ReadOnlyProps.EMPTY_PROPS