Build failed in Jenkins: Phoenix Compile Compatibility with HBase #591

2018-03-30 Thread Apache Jenkins Server
See 


--
[...truncated 39.68 KB...]
[ERROR] 
:[364,5]
 method does not override or implement a method from a supertype
[ERROR] 
:[370,5]
 method does not override or implement a method from a supertype
[ERROR] 
:[376,5]
 method does not override or implement a method from a supertype
[ERROR] 
:[382,5]
 method does not override or implement a method from a supertype
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.0:compile (default-compile) on 
project phoenix-core: Compilation failure: Compilation failure: 
[ERROR] 
:[34,39]
 cannot find symbol
[ERROR]   symbol:   class MetricRegistry
[ERROR]   location: package org.apache.hadoop.hbase.metrics
[ERROR] 
:[144,16]
 cannot find symbol
[ERROR]   symbol:   class MetricRegistry
[ERROR]   location: class 
org.apache.phoenix.coprocessor.PhoenixMetaDataCoprocessorHost.PhoenixMetaDataControllerEnvironment
[ERROR] 
:[24,35]
 cannot find symbol
[ERROR]   symbol:   class DelegatingHBaseRpcController
[ERROR]   location: package org.apache.hadoop.hbase.ipc
[ERROR] 
:[25,35]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: package org.apache.hadoop.hbase.ipc
[ERROR] 
:[37,37]
 cannot find symbol
[ERROR]   symbol: class DelegatingHBaseRpcController
[ERROR] 
:[56,38]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.MetadataRpcController
[ERROR] 
:[26,35]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: package org.apache.hadoop.hbase.ipc
[ERROR] 
:[40,12]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.InterRegionServerMetadataRpcControllerFactory
[ERROR] 
:[46,12]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.InterRegionServerMetadataRpcControllerFactory
[ERROR] 
:[52,12]
 cannot find symbol
[ERROR]   symbol:   class HBaseRpcController
[ERROR]   location: class 
org.apache.hadoop.hbase.ipc.controller.InterRegionServerMetadataRpcControllerFactory
[ERROR] 
:[57,46]
 cannot 

[2/4] phoenix git commit: PHOENIX-4677 Add explicit commons-cli dependency

2018-03-30 Thread pboado
PHOENIX-4677 Add explicit commons-cli dependency


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/235def6a
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/235def6a
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/235def6a

Branch: refs/heads/4.x-cdh5.14
Commit: 235def6aa8a096f2f2ddbfc466143e75aca29676
Parents: bd4d15b
Author: Josh Elser 
Authored: Wed Mar 28 20:21:07 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:35 2018 +0100

--
 phoenix-core/pom.xml  | 4 
 phoenix-kafka/pom.xml | 4 
 phoenix-pherf/pom.xml | 4 
 phoenix-pig/pom.xml   | 4 
 pom.xml   | 6 +-
 5 files changed, 21 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 2cb4c81..b07cbbb 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -355,6 +355,10 @@
   htrace-core
 
 
+  commons-cli
+  commons-cli
+
+
   commons-codec
   commons-codec
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-kafka/pom.xml
--
diff --git a/phoenix-kafka/pom.xml b/phoenix-kafka/pom.xml
index c2cb7db..8718f5f 100644
--- a/phoenix-kafka/pom.xml
+++ b/phoenix-kafka/pom.xml
@@ -153,6 +153,10 @@
htrace-core


+   commons-cli
+   commons-cli
+   
+   
commons-codec
commons-codec


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pherf/pom.xml
--
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 6741bf3..7831f35 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -60,6 +60,10 @@
commons-math3
3.3

+
+  commons-cli
+  commons-cli
+
 



http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pig/pom.xml
--
diff --git a/phoenix-pig/pom.xml b/phoenix-pig/pom.xml
index 31f38b8..e5d0d52 100644
--- a/phoenix-pig/pom.xml
+++ b/phoenix-pig/pom.xml
@@ -172,6 +172,10 @@
   test-jar
   test
 
+
+  commons-cli
+  commons-cli
+
   
 
   

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 1479b75..73964c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,7 +122,6 @@
 1.2.17
 ${cdh.slf4j.version}
 2.5.0
-1.6
 2.1
 2.5
 1.2
@@ -936,6 +935,11 @@
 ${slf4j.version}
   
   
+commons-cli
+commons-cli
+${commons-cli.version}
+  
+  
 commons-logging
 commons-logging
 ${commons-logging.version}



[1/4] phoenix git commit: PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration [Forced Update!]

2018-03-30 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.13 1d0339005 -> ed8a4f28b (forced update)


PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration

The parsing/validation logic on the allowed path for UDF jar loading was lacking
in that it didn't correctly handle a trailing slash.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/bd4d15bb
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/bd4d15bb
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/bd4d15bb

Branch: refs/heads/4.x-cdh5.13
Commit: bd4d15bbd8c562a0a24b72989477cf22cc481ef5
Parents: 881d7aa
Author: Josh Elser 
Authored: Wed Mar 28 00:06:45 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:23 2018 +0100

--
 .../phoenix/end2end/UserDefinedFunctionsIT.java | 42 ++--
 .../expression/function/UDFExpression.java  | 21 ++
 2 files changed, 35 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/bd4d15bb/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
index 943119d..ebb2462 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
@@ -201,7 +201,6 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 public void cleanUpAfterTest() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
 Statement stmt = conn.createStatement();
-ResultSet rs = stmt.executeQuery("list jars");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar'");
@@ -280,7 +279,8 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 util.startMiniDFSCluster(1);
 util.startMiniZKCluster(1);
 String string = util.getConfiguration().get("fs.defaultFS");
-conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars");
+// PHOENIX-4675 setting the trailing slash implicitly tests that we're 
doing some path normalization
+conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars/");
 util.startMiniHBaseCluster(1, 1);
 UDFExpression.setConfig(conf);
 
@@ -297,20 +297,21 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 @Test
 public void testListJars() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
+Path jarPath = new 
Path(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY));
 Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("list jars");
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar1.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar2.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar3.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar4.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar4.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar5.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar5.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar6.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar6.jar").toString(), 

[2/4] phoenix git commit: PHOENIX-4677 Add explicit commons-cli dependency

2018-03-30 Thread pboado
PHOENIX-4677 Add explicit commons-cli dependency


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/235def6a
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/235def6a
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/235def6a

Branch: refs/heads/4.x-cdh5.13
Commit: 235def6aa8a096f2f2ddbfc466143e75aca29676
Parents: bd4d15b
Author: Josh Elser 
Authored: Wed Mar 28 20:21:07 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:35 2018 +0100

--
 phoenix-core/pom.xml  | 4 
 phoenix-kafka/pom.xml | 4 
 phoenix-pherf/pom.xml | 4 
 phoenix-pig/pom.xml   | 4 
 pom.xml   | 6 +-
 5 files changed, 21 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 2cb4c81..b07cbbb 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -355,6 +355,10 @@
   htrace-core
 
 
+  commons-cli
+  commons-cli
+
+
   commons-codec
   commons-codec
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-kafka/pom.xml
--
diff --git a/phoenix-kafka/pom.xml b/phoenix-kafka/pom.xml
index c2cb7db..8718f5f 100644
--- a/phoenix-kafka/pom.xml
+++ b/phoenix-kafka/pom.xml
@@ -153,6 +153,10 @@
htrace-core


+   commons-cli
+   commons-cli
+   
+   
commons-codec
commons-codec


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pherf/pom.xml
--
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 6741bf3..7831f35 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -60,6 +60,10 @@
commons-math3
3.3

+
+  commons-cli
+  commons-cli
+
 



http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pig/pom.xml
--
diff --git a/phoenix-pig/pom.xml b/phoenix-pig/pom.xml
index 31f38b8..e5d0d52 100644
--- a/phoenix-pig/pom.xml
+++ b/phoenix-pig/pom.xml
@@ -172,6 +172,10 @@
   test-jar
   test
 
+
+  commons-cli
+  commons-cli
+
   
 
   

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 1479b75..73964c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,7 +122,6 @@
 1.2.17
 ${cdh.slf4j.version}
 2.5.0
-1.6
 2.1
 2.5
 1.2
@@ -936,6 +935,11 @@
 ${slf4j.version}
   
   
+commons-cli
+commons-cli
+${commons-cli.version}
+  
+  
 commons-logging
 commons-logging
 ${commons-logging.version}



[1/4] phoenix git commit: PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration [Forced Update!]

2018-03-30 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.14 a80821d06 -> 5d29e44b7 (forced update)


PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration

The parsing/validation logic on the allowed path for UDF jar loading was lacking
in that it didn't correctly handle a trailing slash.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/bd4d15bb
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/bd4d15bb
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/bd4d15bb

Branch: refs/heads/4.x-cdh5.14
Commit: bd4d15bbd8c562a0a24b72989477cf22cc481ef5
Parents: 881d7aa
Author: Josh Elser 
Authored: Wed Mar 28 00:06:45 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:23 2018 +0100

--
 .../phoenix/end2end/UserDefinedFunctionsIT.java | 42 ++--
 .../expression/function/UDFExpression.java  | 21 ++
 2 files changed, 35 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/bd4d15bb/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
index 943119d..ebb2462 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
@@ -201,7 +201,6 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 public void cleanUpAfterTest() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
 Statement stmt = conn.createStatement();
-ResultSet rs = stmt.executeQuery("list jars");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar'");
@@ -280,7 +279,8 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 util.startMiniDFSCluster(1);
 util.startMiniZKCluster(1);
 String string = util.getConfiguration().get("fs.defaultFS");
-conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars");
+// PHOENIX-4675 setting the trailing slash implicitly tests that we're 
doing some path normalization
+conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars/");
 util.startMiniHBaseCluster(1, 1);
 UDFExpression.setConfig(conf);
 
@@ -297,20 +297,21 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 @Test
 public void testListJars() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
+Path jarPath = new 
Path(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY));
 Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("list jars");
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar1.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar2.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar3.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar4.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar4.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar5.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar5.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar6.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar6.jar").toString(), 

[4/4] phoenix git commit: Changes for CDH 5.14.x

2018-03-30 Thread pboado
Changes for CDH 5.14.x


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/5d29e44b
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/5d29e44b
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/5d29e44b

Branch: refs/heads/4.x-cdh5.14
Commit: 5d29e44b78d89eba31df9a9f47bec67b62d0249b
Parents: 0fa6d94
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Fri Mar 30 09:01:54 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/5d29e44b/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 55a9a6e..862ec23 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.14.0-SNAPSHOT
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5d29e44b/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index 2454de6..470dd05 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.14.0-SNAPSHOT
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5d29e44b/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index b07cbbb..d215997 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.14.0-SNAPSHOT
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5d29e44b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
index 4fdddf5..d1f05f8 100644
--- 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
+++ 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/5d29e44b/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index 0883e5e..a7aef39 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

[4/4] phoenix git commit: Changes for CDH 5.13.x

2018-03-30 Thread pboado
Changes for CDH 5.13.x


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/ed8a4f28
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/ed8a4f28
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/ed8a4f28

Branch: refs/heads/4.x-cdh5.13
Commit: ed8a4f28bccbb9929fc137bbe60b5cf16443f9c6
Parents: 0fa6d94
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Fri Mar 30 09:01:29 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/ed8a4f28/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 55a9a6e..f0cd238 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.13.2-SNAPSHOT
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ed8a4f28/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index 2454de6..b4da311 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.13.2-SNAPSHOT
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ed8a4f28/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index b07cbbb..08e1459 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.13.2-SNAPSHOT
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ed8a4f28/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
index 4fdddf5..d1f05f8 100644
--- 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
+++ 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/ed8a4f28/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index 0883e5e..925b26f 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

[3/4] phoenix git commit: PHOENIX-4671 Fix minor size accounting bug for MutationSize.

2018-03-30 Thread pboado
PHOENIX-4671 Fix minor size accounting bug for MutationSize.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/0fa6d947
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/0fa6d947
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/0fa6d947

Branch: refs/heads/4.x-cdh5.13
Commit: 0fa6d947ebfc237e854b206f35af3a558e28a8ee
Parents: 235def6
Author: Lars Hofhansl 
Authored: Thu Mar 29 22:42:53 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:50 2018 +0100

--
 .../end2end/UpsertSelectAutoCommitIT.java   | 28 
 .../apache/phoenix/execute/MutationState.java   |  1 +
 2 files changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
index 6b781a0..38d48d6 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
@@ -23,15 +23,19 @@ import static 
org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.sql.Connection;
 import java.sql.Date;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Properties;
 
+import org.apache.phoenix.exception.SQLExceptionCode;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.Test;
@@ -173,4 +177,28 @@ public class UpsertSelectAutoCommitIT extends 
ParallelStatsDisabledIT {
 conn.close();
 }
 
+@Test
+public void testMaxMutationSize() throws Exception {
+Properties connectionProperties = new Properties();
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_ATTRIB, "3");
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_BYTES_ATTRIB, 
"5");
+PhoenixConnection connection =
+(PhoenixConnection) DriverManager.getConnection(getUrl(), 
connectionProperties);
+connection.setAutoCommit(true);
+String fullTableName = generateUniqueName();
+try (Statement stmt = connection.createStatement()) {
+stmt.execute(
+"CREATE TABLE " + fullTableName + " (pk INTEGER PRIMARY 
KEY, v1 INTEGER, v2 INTEGER)");
+stmt.execute(
+"CREATE SEQUENCE " + fullTableName + "_seq cache 1000");
+stmt.execute("UPSERT INTO " + fullTableName + " VALUES (NEXT VALUE 
FOR " + fullTableName + "_seq, rand(), rand())");
+}
+try (Statement stmt = connection.createStatement()) {
+for (int i=0; i<16; i++) {
+stmt.execute("UPSERT INTO " + fullTableName + " SELECT NEXT 
VALUE FOR " + fullTableName + "_seq, rand(), rand() FROM " + fullTableName);
+}
+}
+connection.close();
+}
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
index 727b424..f6d11a0 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
@@ -1563,6 +1563,7 @@ public class MutationState implements SQLCloseable {
 
 public void clear(){
 rowKeyToRowMutationState.clear();
+estimatedSize = 0;
 }
 
 public Collection values() {



[3/4] phoenix git commit: PHOENIX-4671 Fix minor size accounting bug for MutationSize.

2018-03-30 Thread pboado
PHOENIX-4671 Fix minor size accounting bug for MutationSize.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/0fa6d947
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/0fa6d947
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/0fa6d947

Branch: refs/heads/4.x-cdh5.14
Commit: 0fa6d947ebfc237e854b206f35af3a558e28a8ee
Parents: 235def6
Author: Lars Hofhansl 
Authored: Thu Mar 29 22:42:53 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:50 2018 +0100

--
 .../end2end/UpsertSelectAutoCommitIT.java   | 28 
 .../apache/phoenix/execute/MutationState.java   |  1 +
 2 files changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
index 6b781a0..38d48d6 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
@@ -23,15 +23,19 @@ import static 
org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.sql.Connection;
 import java.sql.Date;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Properties;
 
+import org.apache.phoenix.exception.SQLExceptionCode;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.Test;
@@ -173,4 +177,28 @@ public class UpsertSelectAutoCommitIT extends 
ParallelStatsDisabledIT {
 conn.close();
 }
 
+@Test
+public void testMaxMutationSize() throws Exception {
+Properties connectionProperties = new Properties();
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_ATTRIB, "3");
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_BYTES_ATTRIB, 
"5");
+PhoenixConnection connection =
+(PhoenixConnection) DriverManager.getConnection(getUrl(), 
connectionProperties);
+connection.setAutoCommit(true);
+String fullTableName = generateUniqueName();
+try (Statement stmt = connection.createStatement()) {
+stmt.execute(
+"CREATE TABLE " + fullTableName + " (pk INTEGER PRIMARY 
KEY, v1 INTEGER, v2 INTEGER)");
+stmt.execute(
+"CREATE SEQUENCE " + fullTableName + "_seq cache 1000");
+stmt.execute("UPSERT INTO " + fullTableName + " VALUES (NEXT VALUE 
FOR " + fullTableName + "_seq, rand(), rand())");
+}
+try (Statement stmt = connection.createStatement()) {
+for (int i=0; i<16; i++) {
+stmt.execute("UPSERT INTO " + fullTableName + " SELECT NEXT 
VALUE FOR " + fullTableName + "_seq, rand(), rand() FROM " + fullTableName);
+}
+}
+connection.close();
+}
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
index 727b424..f6d11a0 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
@@ -1563,6 +1563,7 @@ public class MutationState implements SQLCloseable {
 
 public void clear(){
 rowKeyToRowMutationState.clear();
+estimatedSize = 0;
 }
 
 public Collection values() {



[1/4] phoenix git commit: PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration [Forced Update!]

2018-03-30 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.12 e6bda5f67 -> cab7d474f (forced update)


PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration

The parsing/validation logic on the allowed path for UDF jar loading was lacking
in that it didn't correctly handle a trailing slash.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/bd4d15bb
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/bd4d15bb
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/bd4d15bb

Branch: refs/heads/4.x-cdh5.12
Commit: bd4d15bbd8c562a0a24b72989477cf22cc481ef5
Parents: 881d7aa
Author: Josh Elser 
Authored: Wed Mar 28 00:06:45 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:23 2018 +0100

--
 .../phoenix/end2end/UserDefinedFunctionsIT.java | 42 ++--
 .../expression/function/UDFExpression.java  | 21 ++
 2 files changed, 35 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/bd4d15bb/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
index 943119d..ebb2462 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
@@ -201,7 +201,6 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 public void cleanUpAfterTest() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
 Statement stmt = conn.createStatement();
-ResultSet rs = stmt.executeQuery("list jars");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar'");
@@ -280,7 +279,8 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 util.startMiniDFSCluster(1);
 util.startMiniZKCluster(1);
 String string = util.getConfiguration().get("fs.defaultFS");
-conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars");
+// PHOENIX-4675 setting the trailing slash implicitly tests that we're 
doing some path normalization
+conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars/");
 util.startMiniHBaseCluster(1, 1);
 UDFExpression.setConfig(conf);
 
@@ -297,20 +297,21 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 @Test
 public void testListJars() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
+Path jarPath = new 
Path(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY));
 Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("list jars");
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar1.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar2.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar3.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar4.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar4.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar5.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar5.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar6.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar6.jar").toString(), 

[3/4] phoenix git commit: PHOENIX-4671 Fix minor size accounting bug for MutationSize.

2018-03-30 Thread pboado
PHOENIX-4671 Fix minor size accounting bug for MutationSize.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/0fa6d947
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/0fa6d947
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/0fa6d947

Branch: refs/heads/4.x-cdh5.12
Commit: 0fa6d947ebfc237e854b206f35af3a558e28a8ee
Parents: 235def6
Author: Lars Hofhansl 
Authored: Thu Mar 29 22:42:53 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:50 2018 +0100

--
 .../end2end/UpsertSelectAutoCommitIT.java   | 28 
 .../apache/phoenix/execute/MutationState.java   |  1 +
 2 files changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
index 6b781a0..38d48d6 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
@@ -23,15 +23,19 @@ import static 
org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.sql.Connection;
 import java.sql.Date;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Properties;
 
+import org.apache.phoenix.exception.SQLExceptionCode;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.Test;
@@ -173,4 +177,28 @@ public class UpsertSelectAutoCommitIT extends 
ParallelStatsDisabledIT {
 conn.close();
 }
 
+@Test
+public void testMaxMutationSize() throws Exception {
+Properties connectionProperties = new Properties();
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_ATTRIB, "3");
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_BYTES_ATTRIB, 
"5");
+PhoenixConnection connection =
+(PhoenixConnection) DriverManager.getConnection(getUrl(), 
connectionProperties);
+connection.setAutoCommit(true);
+String fullTableName = generateUniqueName();
+try (Statement stmt = connection.createStatement()) {
+stmt.execute(
+"CREATE TABLE " + fullTableName + " (pk INTEGER PRIMARY 
KEY, v1 INTEGER, v2 INTEGER)");
+stmt.execute(
+"CREATE SEQUENCE " + fullTableName + "_seq cache 1000");
+stmt.execute("UPSERT INTO " + fullTableName + " VALUES (NEXT VALUE 
FOR " + fullTableName + "_seq, rand(), rand())");
+}
+try (Statement stmt = connection.createStatement()) {
+for (int i=0; i<16; i++) {
+stmt.execute("UPSERT INTO " + fullTableName + " SELECT NEXT 
VALUE FOR " + fullTableName + "_seq, rand(), rand() FROM " + fullTableName);
+}
+}
+connection.close();
+}
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
index 727b424..f6d11a0 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
@@ -1563,6 +1563,7 @@ public class MutationState implements SQLCloseable {
 
 public void clear(){
 rowKeyToRowMutationState.clear();
+estimatedSize = 0;
 }
 
 public Collection values() {



[4/4] phoenix git commit: Changes for CDH 5.12.x

2018-03-30 Thread pboado
Changes for CDH 5.12.x


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/cab7d474
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/cab7d474
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/cab7d474

Branch: refs/heads/4.x-cdh5.12
Commit: cab7d474f81b6fb4a3ee9073a5a4075bca288c3e
Parents: 0fa6d94
Author: Pedro Boado 
Authored: Sat Mar 10 17:54:04 2018 +
Committer: Pedro Boado 
Committed: Fri Mar 30 08:59:51 2018 +0100

--
 phoenix-assembly/pom.xml|  2 +-
 phoenix-client/pom.xml  |  2 +-
 phoenix-core/pom.xml|  2 +-
 .../hadoop/hbase/ipc/PhoenixRpcScheduler.java   | 34 ++--
 phoenix-flume/pom.xml   |  2 +-
 phoenix-hive/pom.xml|  2 +-
 phoenix-kafka/pom.xml   |  2 +-
 phoenix-load-balancer/pom.xml   |  2 +-
 phoenix-parcel/pom.xml  |  2 +-
 phoenix-pherf/pom.xml   |  2 +-
 phoenix-pig/pom.xml |  2 +-
 phoenix-queryserver-client/pom.xml  |  2 +-
 phoenix-queryserver/pom.xml |  2 +-
 phoenix-server/pom.xml  |  2 +-
 phoenix-spark/pom.xml   |  2 +-
 phoenix-tracing-webapp/pom.xml  |  2 +-
 pom.xml |  4 +--
 17 files changed, 49 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/cab7d474/phoenix-assembly/pom.xml
--
diff --git a/phoenix-assembly/pom.xml b/phoenix-assembly/pom.xml
index 55a9a6e..14225ee 100644
--- a/phoenix-assembly/pom.xml
+++ b/phoenix-assembly/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.12.2-SNAPSHOT
   
   phoenix-assembly
   Phoenix Assembly

http://git-wip-us.apache.org/repos/asf/phoenix/blob/cab7d474/phoenix-client/pom.xml
--
diff --git a/phoenix-client/pom.xml b/phoenix-client/pom.xml
index 2454de6..e211008 100644
--- a/phoenix-client/pom.xml
+++ b/phoenix-client/pom.xml
@@ -27,7 +27,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.12.2-SNAPSHOT
   
   phoenix-client
   Phoenix Client

http://git-wip-us.apache.org/repos/asf/phoenix/blob/cab7d474/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index b07cbbb..61ceeb3 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -4,7 +4,7 @@
   
 org.apache.phoenix
 phoenix
-4.14.0-cdh5.11.2-SNAPSHOT
+4.14.0-cdh5.12.2-SNAPSHOT
   
   phoenix-core
   Phoenix Core

http://git-wip-us.apache.org/repos/asf/phoenix/blob/cab7d474/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
index 4fdddf5..d1f05f8 100644
--- 
a/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
+++ 
b/phoenix-core/src/main/java/org/apache/hadoop/hbase/ipc/PhoenixRpcScheduler.java
@@ -124,6 +124,36 @@ public class PhoenixRpcScheduler extends RpcScheduler {
 public void setMetadataExecutorForTesting(RpcExecutor executor) {
 this.metadataCallExecutor = executor;
 }
-
-
+
+@Override
+public int getReadQueueLength() {
+return delegate.getReadQueueLength();
+}
+
+@Override
+public int getWriteQueueLength() {
+return delegate.getWriteQueueLength();
+}
+
+@Override
+public int getScanQueueLength() {
+return delegate.getScanQueueLength();
+}
+
+@Override
+public int getActiveReadRpcHandlerCount() {
+return delegate.getActiveReadRpcHandlerCount();
+}
+
+@Override
+public int getActiveWriteRpcHandlerCount() {
+return delegate.getActiveWriteRpcHandlerCount();
+}
+
+@Override
+public int getActiveScanRpcHandlerCount() {
+return delegate.getActiveScanRpcHandlerCount();
+}
+
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/cab7d474/phoenix-flume/pom.xml
--
diff --git a/phoenix-flume/pom.xml b/phoenix-flume/pom.xml
index 0883e5e..e1bde63 100644
--- a/phoenix-flume/pom.xml
+++ b/phoenix-flume/pom.xml
@@ -26,7 +26,7 @@
   
 

[2/4] phoenix git commit: PHOENIX-4677 Add explicit commons-cli dependency

2018-03-30 Thread pboado
PHOENIX-4677 Add explicit commons-cli dependency


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/235def6a
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/235def6a
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/235def6a

Branch: refs/heads/4.x-cdh5.12
Commit: 235def6aa8a096f2f2ddbfc466143e75aca29676
Parents: bd4d15b
Author: Josh Elser 
Authored: Wed Mar 28 20:21:07 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:35 2018 +0100

--
 phoenix-core/pom.xml  | 4 
 phoenix-kafka/pom.xml | 4 
 phoenix-pherf/pom.xml | 4 
 phoenix-pig/pom.xml   | 4 
 pom.xml   | 6 +-
 5 files changed, 21 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 2cb4c81..b07cbbb 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -355,6 +355,10 @@
   htrace-core
 
 
+  commons-cli
+  commons-cli
+
+
   commons-codec
   commons-codec
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-kafka/pom.xml
--
diff --git a/phoenix-kafka/pom.xml b/phoenix-kafka/pom.xml
index c2cb7db..8718f5f 100644
--- a/phoenix-kafka/pom.xml
+++ b/phoenix-kafka/pom.xml
@@ -153,6 +153,10 @@
htrace-core


+   commons-cli
+   commons-cli
+   
+   
commons-codec
commons-codec


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pherf/pom.xml
--
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 6741bf3..7831f35 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -60,6 +60,10 @@
commons-math3
3.3

+
+  commons-cli
+  commons-cli
+
 



http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pig/pom.xml
--
diff --git a/phoenix-pig/pom.xml b/phoenix-pig/pom.xml
index 31f38b8..e5d0d52 100644
--- a/phoenix-pig/pom.xml
+++ b/phoenix-pig/pom.xml
@@ -172,6 +172,10 @@
   test-jar
   test
 
+
+  commons-cli
+  commons-cli
+
   
 
   

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 1479b75..73964c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,7 +122,6 @@
 1.2.17
 ${cdh.slf4j.version}
 2.5.0
-1.6
 2.1
 2.5
 1.2
@@ -936,6 +935,11 @@
 ${slf4j.version}
   
   
+commons-cli
+commons-cli
+${commons-cli.version}
+  
+  
 commons-logging
 commons-logging
 ${commons-logging.version}



[3/3] phoenix git commit: PHOENIX-4671 Fix minor size accounting bug for MutationSize.

2018-03-30 Thread pboado
PHOENIX-4671 Fix minor size accounting bug for MutationSize.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/0fa6d947
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/0fa6d947
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/0fa6d947

Branch: refs/heads/4.x-cdh5.11
Commit: 0fa6d947ebfc237e854b206f35af3a558e28a8ee
Parents: 235def6
Author: Lars Hofhansl 
Authored: Thu Mar 29 22:42:53 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:50 2018 +0100

--
 .../end2end/UpsertSelectAutoCommitIT.java   | 28 
 .../apache/phoenix/execute/MutationState.java   |  1 +
 2 files changed, 29 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
index 6b781a0..38d48d6 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectAutoCommitIT.java
@@ -23,15 +23,19 @@ import static 
org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.sql.Connection;
 import java.sql.Date;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
+import java.sql.SQLException;
 import java.sql.Statement;
 import java.util.Properties;
 
+import org.apache.phoenix.exception.SQLExceptionCode;
+import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.query.QueryServices;
 import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.Test;
@@ -173,4 +177,28 @@ public class UpsertSelectAutoCommitIT extends 
ParallelStatsDisabledIT {
 conn.close();
 }
 
+@Test
+public void testMaxMutationSize() throws Exception {
+Properties connectionProperties = new Properties();
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_ATTRIB, "3");
+
connectionProperties.setProperty(QueryServices.MAX_MUTATION_SIZE_BYTES_ATTRIB, 
"5");
+PhoenixConnection connection =
+(PhoenixConnection) DriverManager.getConnection(getUrl(), 
connectionProperties);
+connection.setAutoCommit(true);
+String fullTableName = generateUniqueName();
+try (Statement stmt = connection.createStatement()) {
+stmt.execute(
+"CREATE TABLE " + fullTableName + " (pk INTEGER PRIMARY 
KEY, v1 INTEGER, v2 INTEGER)");
+stmt.execute(
+"CREATE SEQUENCE " + fullTableName + "_seq cache 1000");
+stmt.execute("UPSERT INTO " + fullTableName + " VALUES (NEXT VALUE 
FOR " + fullTableName + "_seq, rand(), rand())");
+}
+try (Statement stmt = connection.createStatement()) {
+for (int i=0; i<16; i++) {
+stmt.execute("UPSERT INTO " + fullTableName + " SELECT NEXT 
VALUE FOR " + fullTableName + "_seq, rand(), rand() FROM " + fullTableName);
+}
+}
+connection.close();
+}
+
 }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/0fa6d947/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
--
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java 
b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
index 727b424..f6d11a0 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/execute/MutationState.java
@@ -1563,6 +1563,7 @@ public class MutationState implements SQLCloseable {
 
 public void clear(){
 rowKeyToRowMutationState.clear();
+estimatedSize = 0;
 }
 
 public Collection values() {



[2/3] phoenix git commit: PHOENIX-4677 Add explicit commons-cli dependency

2018-03-30 Thread pboado
PHOENIX-4677 Add explicit commons-cli dependency


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/235def6a
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/235def6a
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/235def6a

Branch: refs/heads/4.x-cdh5.11
Commit: 235def6aa8a096f2f2ddbfc466143e75aca29676
Parents: bd4d15b
Author: Josh Elser 
Authored: Wed Mar 28 20:21:07 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:35 2018 +0100

--
 phoenix-core/pom.xml  | 4 
 phoenix-kafka/pom.xml | 4 
 phoenix-pherf/pom.xml | 4 
 phoenix-pig/pom.xml   | 4 
 pom.xml   | 6 +-
 5 files changed, 21 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-core/pom.xml
--
diff --git a/phoenix-core/pom.xml b/phoenix-core/pom.xml
index 2cb4c81..b07cbbb 100644
--- a/phoenix-core/pom.xml
+++ b/phoenix-core/pom.xml
@@ -355,6 +355,10 @@
   htrace-core
 
 
+  commons-cli
+  commons-cli
+
+
   commons-codec
   commons-codec
 

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-kafka/pom.xml
--
diff --git a/phoenix-kafka/pom.xml b/phoenix-kafka/pom.xml
index c2cb7db..8718f5f 100644
--- a/phoenix-kafka/pom.xml
+++ b/phoenix-kafka/pom.xml
@@ -153,6 +153,10 @@
htrace-core


+   commons-cli
+   commons-cli
+   
+   
commons-codec
commons-codec


http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pherf/pom.xml
--
diff --git a/phoenix-pherf/pom.xml b/phoenix-pherf/pom.xml
index 6741bf3..7831f35 100644
--- a/phoenix-pherf/pom.xml
+++ b/phoenix-pherf/pom.xml
@@ -60,6 +60,10 @@
commons-math3
3.3

+
+  commons-cli
+  commons-cli
+
 



http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/phoenix-pig/pom.xml
--
diff --git a/phoenix-pig/pom.xml b/phoenix-pig/pom.xml
index 31f38b8..e5d0d52 100644
--- a/phoenix-pig/pom.xml
+++ b/phoenix-pig/pom.xml
@@ -172,6 +172,10 @@
   test-jar
   test
 
+
+  commons-cli
+  commons-cli
+
   
 
   

http://git-wip-us.apache.org/repos/asf/phoenix/blob/235def6a/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 1479b75..73964c0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -122,7 +122,6 @@
 1.2.17
 ${cdh.slf4j.version}
 2.5.0
-1.6
 2.1
 2.5
 1.2
@@ -936,6 +935,11 @@
 ${slf4j.version}
   
   
+commons-cli
+commons-cli
+${commons-cli.version}
+  
+  
 commons-logging
 commons-logging
 ${commons-logging.version}



[1/3] phoenix git commit: PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration

2018-03-30 Thread pboado
Repository: phoenix
Updated Branches:
  refs/heads/4.x-cdh5.11 881d7aacb -> 0fa6d947e


PHOENIX-4675 Better parsing around the allowed UDF jar directory configuration

The parsing/validation logic on the allowed path for UDF jar loading was lacking
in that it didn't correctly handle a trailing slash.


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/bd4d15bb
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/bd4d15bb
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/bd4d15bb

Branch: refs/heads/4.x-cdh5.11
Commit: bd4d15bbd8c562a0a24b72989477cf22cc481ef5
Parents: 881d7aa
Author: Josh Elser 
Authored: Wed Mar 28 00:06:45 2018 +0100
Committer: Pedro Boado 
Committed: Fri Mar 30 08:58:23 2018 +0100

--
 .../phoenix/end2end/UserDefinedFunctionsIT.java | 42 ++--
 .../expression/function/UDFExpression.java  | 21 ++
 2 files changed, 35 insertions(+), 28 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/phoenix/blob/bd4d15bb/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
--
diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
index 943119d..ebb2462 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UserDefinedFunctionsIT.java
@@ -201,7 +201,6 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 public void cleanUpAfterTest() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
 Statement stmt = conn.createStatement();
-ResultSet rs = stmt.executeQuery("list jars");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar'");
 stmt.execute("delete jar '"+ 
util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar'");
@@ -280,7 +279,8 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 util.startMiniDFSCluster(1);
 util.startMiniZKCluster(1);
 String string = util.getConfiguration().get("fs.defaultFS");
-conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars");
+// PHOENIX-4675 setting the trailing slash implicitly tests that we're 
doing some path normalization
+conf.set(DYNAMIC_JARS_DIR_KEY, string+"/hbase/tmpjars/");
 util.startMiniHBaseCluster(1, 1);
 UDFExpression.setConfig(conf);
 
@@ -297,20 +297,21 @@ public class UserDefinedFunctionsIT extends 
BaseOwnClusterIT {
 @Test
 public void testListJars() throws Exception {
 Connection conn = driver.connect(url, EMPTY_PROPS);
+Path jarPath = new 
Path(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY));
 Statement stmt = conn.createStatement();
 ResultSet rs = stmt.executeQuery("list jars");
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar1.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar1.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar2.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar2.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar3.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar3.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar4.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar4.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar5.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar5.jar").toString(), 
rs.getString("jar_location"));
 assertTrue(rs.next());
-
assertEquals(util.getConfiguration().get(QueryServices.DYNAMIC_JARS_DIR_KEY)+"/"+"myjar6.jar",
 rs.getString("jar_location"));
+assertEquals(new Path(jarPath, "myjar6.jar").toString(),