Thanks for the clarification Josh. On Tue, 22 Jan 2019, 15:53 Josh Elser <[email protected] wrote:
> I was referring to the JDBC (thick) client and the coprocessors inside > HBase. The thin JDBC client does not talk to HBase directly, only to PQS. > > PQS and the thin-client would actually be the exception to what I said > in my last message. You could (with a high degree of confidence) deploy > a new version of Phoenix using an old thin JDBC driver. However, this > isn't really any different than just upgrading Phoenix wholesale. > > Yup, in short, you're glossing over quite a bit. One example: the > (thick) JDBC must construct and send RPC messages to the appropriate > RegionServers to execute certain operations. The deployed coprocessors > in HBase must both know how to parse those RPC messages, but also > interpret them correctly (e.g. an older CP might be able to parse a > newer clients message, but could miss an important field that was added > to that message). > > On 1/22/19 4:02 AM, Owen Rees-Hayward wrote: > > Hey Josh, thanks for your thoughts. > > > > Based on your advice we will almost certainly not pursue this direction. > > But just to clarify, in terms of the client version are you referring to > > the Query server, JDBC clients or both? > > > > I imagine from the JDBC perspective that a client would only be > > accessing tables with the same Phoenix version. But it maybe that my > > take has a lot of erroneous assumptions in it, as I haven't looked at > > the internals of the JDBC driver code. > > > > On Mon, 21 Jan 2019 at 18:09, Josh Elser <[email protected] > > <mailto:[email protected]>> wrote: > > > > Owen, > > > > There would be significant "unwanted side-effects". You would be > > taking on a very large burden trying to come up with a corresponding > > client version of Phoenix which would still work against the newer > > coprocessors that you are trying to deploy. Phoenix doesn't provide > > any guarantee of compatibility for more than a few versions between > > client and server. > > > > Would suggest that you move to HDP 3.1.0 if you want a newer version > > of Phoenix. > > > > On Mon, Jan 21, 2019 at 9:06 AM Owen Rees-Hayward > > <[email protected] <mailto:[email protected]>> wrote: > > > > > > We are on HDP 2.6.5 but would like to use a more recent version > > of Phoenix, without upgrading it cluster-wide. > > > > > > HBase coprocessors can be dynamically deployed (for instance > > picking up the coprocessor jar from HDFS) against specific tables. > > We are wondering whether this would be a route to using a newer > > version of Phoenix against a set of tables? We are unclear if there > > would be unwanted side-effects. > > > > > > I'd be really interested to know if anyone has attempted this > > with success or otherwise. > > > > > > Thanks in advance. > > > > > > > > > -- > > > Owen Rees-Hayward > > > 07912 876046 > > > twitter.com/owen4d <http://twitter.com/owen4d> > > > > > > > > -- > > Owen Rees-Hayward > > 07912 876046 > > twitter.com/owen4d <http://twitter.com/owen4d> >
