You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2015/04/30 22:39:31 UTC
phoenix git commit: PHOENIX-1880 Connections from
QueryUtil.getConnection don't work on secure clusters (Geoffrey Jacoby)
Repository: phoenix
Updated Branches:
refs/heads/master d223f2c39 -> 1fa09dc5c
PHOENIX-1880 Connections from QueryUtil.getConnection don't work on secure clusters (Geoffrey Jacoby)
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/1fa09dc5
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/1fa09dc5
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/1fa09dc5
Branch: refs/heads/master
Commit: 1fa09dc5c84ca92f57f6904bf88628133eb65995
Parents: d223f2c
Author: James Taylor <jt...@salesforce.com>
Authored: Thu Apr 30 13:39:23 2015 -0700
Committer: James Taylor <jt...@salesforce.com>
Committed: Thu Apr 30 13:39:23 2015 -0700
----------------------------------------------------------------------
.../phoenix/mapreduce/util/ConnectionUtil.java | 23 +++-----------------
.../org/apache/phoenix/util/PropertiesUtil.java | 22 +++++++++++++++++++
.../java/org/apache/phoenix/util/QueryUtil.java | 4 ++++
.../apache/phoenix/util/PropertiesUtilTest.java | 23 +++++++++++++++++++-
4 files changed, 51 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fa09dc5/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/util/ConnectionUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/util/ConnectionUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/util/ConnectionUtil.java
index e677104..294d4e9 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/util/ConnectionUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/mapreduce/util/ConnectionUtil.java
@@ -26,6 +26,7 @@ import java.util.Properties;
import com.google.common.base.Preconditions;
import org.apache.hadoop.conf.Configuration;
+import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.QueryUtil;
/**
@@ -54,7 +55,7 @@ public class ConnectionUtil {
public static Connection getInputConnection(final Configuration conf , final Properties props) throws SQLException {
Preconditions.checkNotNull(conf);
return getConnection(PhoenixConfigurationUtil.getInputCluster(conf),
- extractProperties(props, conf));
+ PropertiesUtil.extractProperties(props, conf));
}
/**
@@ -77,7 +78,7 @@ public class ConnectionUtil {
public static Connection getOutputConnection(final Configuration conf, Properties props) throws SQLException {
Preconditions.checkNotNull(conf);
return getConnection(PhoenixConfigurationUtil.getOutputCluster(conf),
- extractProperties(props, conf));
+ PropertiesUtil.extractProperties(props, conf));
}
/**
@@ -91,22 +92,4 @@ public class ConnectionUtil {
return DriverManager.getConnection(QueryUtil.getUrl(quorum), props);
}
- /**
- * Add properties from the given Configuration to the provided Properties.
- *
- * @param props properties to which connection information from the Configuration will be added
- * @param conf configuration containing connection information
- * @return the input Properties value, with additional connection information from the
- * given Configuration
- */
- private static Properties extractProperties(Properties props, final Configuration conf) {
- Iterator<Map.Entry<String, String>> iterator = conf.iterator();
- if(iterator != null) {
- while (iterator.hasNext()) {
- Map.Entry<String, String> entry = iterator.next();
- props.setProperty(entry.getKey(), entry.getValue());
- }
- }
- return props;
- }
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fa09dc5/phoenix-core/src/main/java/org/apache/phoenix/util/PropertiesUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/PropertiesUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/PropertiesUtil.java
index d894e58..bcb9aa4 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/PropertiesUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/PropertiesUtil.java
@@ -17,7 +17,10 @@
*/
package org.apache.phoenix.util;
+import java.util.Iterator;
+import java.util.Map;
import java.util.Properties;
+import org.apache.hadoop.conf.Configuration;
public class PropertiesUtil {
@@ -36,4 +39,23 @@ public class PropertiesUtil {
}
return newProperties;
}
+
+ /**
+ * Add properties from the given Configuration to the provided Properties.
+ *
+ * @param props properties to which connection information from the Configuration will be added
+ * @param conf configuration containing connection information
+ * @return the input Properties value, with additional connection information from the
+ * given Configuration
+ */
+ public static Properties extractProperties(Properties props, final Configuration conf) {
+ Iterator<Map.Entry<String, String>> iterator = conf.iterator();
+ if(iterator != null) {
+ while (iterator.hasNext()) {
+ Map.Entry<String, String> entry = iterator.next();
+ props.setProperty(entry.getKey(), entry.getValue());
+ }
+ }
+ return props;
+ }
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fa09dc5/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
index 993016a..d63a68f 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
@@ -49,6 +49,8 @@ import com.google.common.base.Joiner;
import com.google.common.base.Preconditions;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
+import java.util.Iterator;
+import java.util.Map;
public final class QueryUtil {
@@ -266,6 +268,7 @@ public final class QueryUtil {
SQLException {
String url = getConnectionUrl(props, conf);
LOG.info("Creating connection with the jdbc url:" + url);
+ PropertiesUtil.extractProperties(props, conf);
return DriverManager.getConnection(url, props);
}
@@ -316,4 +319,5 @@ public final class QueryUtil {
("\"" + tableName + "\" ") +
(WHERE + " " + where);
}
+
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/phoenix/blob/1fa09dc5/phoenix-core/src/test/java/org/apache/phoenix/util/PropertiesUtilTest.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/util/PropertiesUtilTest.java b/phoenix-core/src/test/java/org/apache/phoenix/util/PropertiesUtilTest.java
index b4608a2..17adfcb 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/util/PropertiesUtilTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/util/PropertiesUtilTest.java
@@ -21,13 +21,18 @@ import static org.junit.Assert.assertEquals;
import java.sql.SQLException;
import java.util.Properties;
+import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.hbase.HBaseConfiguration;
+import org.apache.hadoop.hbase.HConstants;
import org.junit.Test;
public class PropertiesUtilTest {
private static final String SOME_TENANT_ID = "00Dxx0000001234";
-
+ private static final String SOME_OTHER_PROPERTY_KEY = "some_other_property";
+ private static final String SOME_OTHER_PROPERTY_VALUE = "some_other_value";
+
@Test
public void testCopy() throws Exception{
final Properties propsWithTenant = new Properties();
@@ -44,6 +49,22 @@ public class PropertiesUtilTest {
verifyValidCopy(new Properties(propsWithTenant));
}
+ @Test
+ public void testCopyFromConfiguration() throws Exception{
+ //make sure that we don't only copy the ZK quorum, but all
+ //properties
+ final Configuration conf = HBaseConfiguration.create();
+ final Properties props = new Properties();
+
+ conf.set(HConstants.ZOOKEEPER_QUORUM, HConstants.LOCALHOST);
+ conf.set(PropertiesUtilTest.SOME_OTHER_PROPERTY_KEY,
+ PropertiesUtilTest.SOME_OTHER_PROPERTY_VALUE);
+ PropertiesUtil.extractProperties(props, conf);
+ assertEquals(props.getProperty(HConstants.ZOOKEEPER_QUORUM),
+ conf.get(HConstants.ZOOKEEPER_QUORUM));
+ assertEquals(props.getProperty(PropertiesUtilTest.SOME_OTHER_PROPERTY_KEY),
+ conf.get(PropertiesUtilTest.SOME_OTHER_PROPERTY_KEY));
+ }
private void verifyValidCopy(Properties props) throws SQLException {
Properties copy = PropertiesUtil.deepCopy(props);