You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by el...@apache.org on 2017/12/22 18:54:50 UTC

[4/4] phoenix git commit: PHOENIX-4466 Relocate Avatica and hadoop-common in thin-client jar (Toshihiro Suzuki)

PHOENIX-4466 Relocate Avatica and hadoop-common in thin-client jar (Toshihiro Suzuki)

When using the thin-client in Spark, we encounter problems in that Spark
is placing its own version of avatica on the classpath as well. We can
relocate most of Avatica (all but the protobuf generated messages as
their classnames are required to be 'org.apache.calcite.avatica.proto'
presently) and hadoop-common to avoid future problems.


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

Branch: refs/heads/5.x-HBase-2.0
Commit: 4da5c80ad26f7671a7f80a6e34b35988082bbee2
Parents: 91bfaf0
Author: Josh Elser <el...@apache.org>
Authored: Fri Dec 22 13:28:12 2017 -0500
Committer: Josh Elser <el...@apache.org>
Committed: Fri Dec 22 13:42:58 2017 -0500

----------------------------------------------------------------------
 phoenix-queryserver-client/pom.xml | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/4da5c80a/phoenix-queryserver-client/pom.xml
----------------------------------------------------------------------
diff --git a/phoenix-queryserver-client/pom.xml b/phoenix-queryserver-client/pom.xml
index a485b50..5c72b41 100644
--- a/phoenix-queryserver-client/pom.xml
+++ b/phoenix-queryserver-client/pom.xml
@@ -123,9 +123,19 @@
                   <shadedPattern>${shaded.package}.com.google.protobuf</shadedPattern>
                 </relocation>
                 <!-- ORG relocation -->
-                <!-- Calcite/Avatica is not relocated because the wire API (as of <=1.8.0) expects
-                     consistent class names on client and server. Relocating these would break
-                     backwards compatibility. -->
+                <relocation>
+                  <pattern>org.apache.calcite.avatica</pattern>
+                  <shadedPattern>${shaded.package}.org.apache.calcite.avatica</shadedPattern>
+                  <!-- The protobuf messages can't be relocated due to a limitation
+                       in the Avatica protocol. -->
+                  <excludes>
+                    <exclude>org.apache.calcite.avatica.proto.*</exclude>
+                  </excludes>
+                </relocation>
+                <relocation>
+                  <pattern>org.apache.hadoop</pattern>
+                  <shadedPattern>${shaded.package}.org.apache.hadoop</shadedPattern>
+                </relocation>
                 <relocation>
                   <pattern>org.apache.commons</pattern>
                   <shadedPattern>${shaded.package}.org.apache.commons</shadedPattern>