PHOENIX-3426 Fix the broken QueryServerBasicsIT For integration tests with MiniHBaseCluster, we have to deal with multiple versions of protobuf on the classpath. As such, it's easier to use the shaded artifact from Avatica instead of re-shading that in Phoenix and trying to keep the Phoenix classes off the test classpath.
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/d45feaed Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/d45feaed Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/d45feaed Branch: refs/heads/encodecolumns2 Commit: d45feaedbe3611cbc38e8a053f5560f391bcd2b8 Parents: 00fc6f6 Author: Josh Elser <els...@apache.org> Authored: Mon Oct 31 18:38:45 2016 -0400 Committer: Josh Elser <els...@apache.org> Committed: Mon Oct 31 18:50:26 2016 -0400 ---------------------------------------------------------------------- phoenix-queryserver/pom.xml | 33 ++++++++++----------------------- pom.xml | 5 +++++ 2 files changed, 15 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/d45feaed/phoenix-queryserver/pom.xml ---------------------------------------------------------------------- diff --git a/phoenix-queryserver/pom.xml b/phoenix-queryserver/pom.xml index 83f7ee2..81ee77d 100644 --- a/phoenix-queryserver/pom.xml +++ b/phoenix-queryserver/pom.xml @@ -36,7 +36,6 @@ <properties> <top.dir>${project.basedir}/..</top.dir> <shaded.package>org.apache.phoenix.shaded</shaded.package> - <protobuf-java.version>3.1.0</protobuf-java.version> </properties> <build> @@ -87,11 +86,6 @@ <include>org.apache.calcite.avatica:*</include> <include>org.eclipse.jetty:*</include> <include>javax.servlet:*</include> - <include>org.apache.httpcomponents:*</include> - <include>commons-codec:*</include> - <include>commons-logging:*</include> - <include>com.google.protobuf:*</include> - <include>com.fasterxml.jackson.core:*</include> </includes> </artifactSet> <filters> @@ -112,22 +106,6 @@ <pattern>org.eclipse.jetty</pattern> <shadedPattern>${shaded.package}.org.eclipse.jetty</shadedPattern> </relocation> - <relocation> - <pattern>com.google.protobuf</pattern> - <shadedPattern>${shaded.package}.com.google.protobuf</shadedPattern> - </relocation> - <relocation> - <pattern>com.fasterxml.jackson</pattern> - <shadedPattern>${shaded.package}.com.fasterxml.jackson</shadedPattern> - </relocation> - <relocation> - <pattern>org.apache.commons</pattern> - <shadedPattern>${shaded.package}.org.apache.commons</shadedPattern> - </relocation> - <relocation> - <pattern>org.apache.http</pattern> - <shadedPattern>${shaded.package}.org.apache.http</shadedPattern> - </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. --> @@ -143,10 +121,19 @@ <dependency> <groupId>org.apache.phoenix</groupId> <artifactId>phoenix-queryserver-client</artifactId> + <exclusions> + <!-- Being pulled in via avatica to avoid pb2/pb3 issues. + When we use the "pre-shaded" avatica artifact, we don't + have to deal with the mess of multiple versions for protobuf.--> + <exclusion> + <groupId>org.apache.calcite.avatica</groupId> + <artifactId>avatica-core</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.apache.calcite.avatica</groupId> - <artifactId>avatica-core</artifactId> + <artifactId>avatica</artifactId> </dependency> <dependency> <groupId>org.apache.calcite.avatica</groupId> http://git-wip-us.apache.org/repos/asf/phoenix/blob/d45feaed/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 20e80c6..989e2e5 100644 --- a/pom.xml +++ b/pom.xml @@ -710,6 +710,11 @@ </dependency> <dependency> <groupId>org.apache.calcite.avatica</groupId> + <artifactId>avatica</artifactId> + <version>${avatica.version}</version> + </dependency> + <dependency> + <groupId>org.apache.calcite.avatica</groupId> <artifactId>avatica-core</artifactId> <version>${avatica.version}</version> </dependency>