[
https://issues.apache.org/jira/browse/PHOENIX-3136?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15404392#comment-15404392
]
Josh Elser commented on PHOENIX-3136:
-------------------------------------
Additional testing with thin-client and PQS:
* (without patch) 4.7.0 does not work with HEAD of 4.8-HBase-1.2
* (with patch) 4.7.0 does work with HEAD of 4.8-HBase-1.2 + 001 patch
[~sergey.soldatov], does this look good to you?
> Relocation of Avatica classes breaks compatibilty between older version of
> thin-client/PQS
> ------------------------------------------------------------------------------------------
>
> Key: PHOENIX-3136
> URL: https://issues.apache.org/jira/browse/PHOENIX-3136
> Project: Phoenix
> Issue Type: Bug
> Reporter: Josh Elser
> Assignee: Josh Elser
> Priority: Blocker
> Fix For: 4.8.0
>
> Attachments: PHOENIX-3136.001.patch
>
>
> It was recently brought to my attention by [[email protected]] that the
> shading change will break all previous versions of the thin client from
> working with the newer PQS (and vice versa).
> Avatica uses the full class name in the message to identify what protobuf
> message to use to deserialize the bytes from the wire. As such, an older thin
> client would be expecting these protobuf classes to look like
> {{org.apache.calcite.avatica.proto.Responses$PrepareResponse}}. However after
> PHOENIX-2535, PQS would be sending back
> {{org.apache.phoenix.shaded.org.apache.calcite.avatica.proto.Responses$PrepareResponse}}.
> Both are trying to refer to the same Java class, but we can't disambiguate
> presently.
> Long term, I think the protocol itself will have to be updated in Avatica to
> be a little less brittle in this regard (I did not originally consider the
> implications that client/server might *have* the classes, but with a
> different name than what we had in Avatica).
> Short term, we can undo the relocation of the Avatica classes in the
> thin-client and queryserver artifacts. I will be working on this post-haste.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)