I just got done looking into this issue. IMO, it's due to Avatica fixing a long-standing dependency-bundling issue (in its shaded jar). Calcite was expecting to use Jackson (non-relocated) with the Avatica shaded jar which is now correctly relocating Jackson because it bundles it.

I tried to write up a better description on JIRA [1]

I believe the proper fix is to switch Calcite to using org.apache.calcite.avatica:avatica-core instead of org.apache.calcite.avatica:avatica. If Calcite wants to create shaded artifacts for downstream consumption, we should be creating custom shaded artifacts which bundle/relocate everything per Calcites dependency graph.

I hacked together enough on Calcite (to get the avatica upgrade to build/run) and got CalciteRemoteDriverTest passing by simply switching the dependency from avatica to avatica-core.

I stand by my +1 on Avatica-1.9.0 and would encourage others to do the same. Happy to try to explain more if this is still unclear.

- Josh

[1] https://issues.apache.org/jira/browse/CALCITE-1475?focusedCommentId=15620636&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15620636

James Taylor wrote:
Is CALCITE-1475 a regression? If yes, then I agree that it should be fixed
and a new RC spun up. If not, though, how about closing the vote and fixing
it in the next release? There are many other fixes in Avatica 1.9.0 that
Phoenix would like to take advantage of, but won't be able to if the vote
doesn't close as we need to cut our RC on Monday.

On Sat, Oct 29, 2016 at 9:40 AM, Julian Hyde<[email protected]>  wrote:

We have the votes for this to pass, but I have discovered
https://issues.apache.org/jira/browse/CALCITE-1475. At this point
there seems to be no workaround and so this is a showstopper. I am
going to let the vote hang in limbo until I hear some other opinions
about this issue.

On Fri, Oct 28, 2016 at 3:54 PM, James Taylor<[email protected]>
wrote:
+1. Validated that all tests pass in Phoenix with Avatica 1.9.0 RC.

On Fri, Oct 28, 2016 at 1:45 PM, Alan Gates<[email protected]>
wrote:
+1.  Did a build, checked the LICENSE and NOTICE files, checked the
signatures.

Alan.

On Oct 28, 2016, at 11:05, Julian Hyde<[email protected]>  wrote:

We need one more PMC vote. Vote ends in 30 hours. But you probably
don’t
want to vote on a weekend. :)
Julian


On Oct 26, 2016, at 5:24 PM, Julian Hyde<[email protected]>  wrote:

Hi all,

I have created a build for Apache Calcite avatica-1.9.0, release
candidate 1. (Pretty much the same as RC0, but fixing
https://issues.apache.org/jira/browse/CALCITE-1471, and tidying up
the
release notes a little.)

Thanks to everyone who has contributed to this release.
You can read the release notes here:
https://github.com/apache/calcite/blob/branch-avatica-1.
9/avatica/site/_docs/history.md
The commit to be voted upon:
http://git-wip-us.apache.org/repos/asf/calcite/commit/
e32d778e85ce81fd3d820621c0e2d66836bc011d
Its hash is e32d778e85ce81fd3d820621c0e2d66836bc011d.

The artifacts to be voted on are located here:
https://dist.apache.org/repos/dist/dev/calcite/apache-
calcite-avatica-1.9.0-rc1
The hashes of the artifacts are as follows:
src.tar.gz.md5 ad765ff46fa8d504bb057efe1da5ba47
src.tar.gz.sha1 f0d8e7b98ee0b16cb023ede07b2112ad3cb035f9
src.zip.md5 21c113e383b7dd978a6fac7963d26f29
src.zip.sha1 9d619085b1a710818da9c79e52dab90245b33f28

A staged Maven repository is available for review at:
https://repository.apache.org/content/repositories/
orgapachecalcite-1029
Release artifacts are signed with the following key:
https://people.apache.org/keys/committer/jhyde.asc

Please vote on releasing this package as Apache Calcite
avatica-1.9.0.
The vote is open for the next 72 hours and passes if a majority of
at least three +1 PMC votes are cast.

[ ] +1 Release this package as Apache Calcite avatica-1.9.0
[ ]  0 I don't feel strongly about it, but I'm okay with the release
[ ] -1 Do not release this package because...


Here is my vote:

+1 (binding)

Julian


Reply via email to