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:49 UTC

[3/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/5d413a67
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/5d413a67
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/5d413a67

Branch: refs/heads/4.x-HBase-0.98
Commit: 5d413a677efbb8b9fcf17d89eb6f157bcf2dd7b3
Parents: 4f51c0f
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:36:23 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/5d413a67/phoenix-queryserver-client/pom.xml
----------------------------------------------------------------------
diff --git a/phoenix-queryserver-client/pom.xml b/phoenix-queryserver-client/pom.xml
index 1d90abb..c0671a9 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>