hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Helmling <ghelml...@gmail.com>
Subject Re: Coprocessor Endpoint RPC and 0.96 backwards compatibility
Date Thu, 20 Sep 2012 22:08:49 GMT
On Thu, Sep 20, 2012 at 5:49 PM, Jonathan Hsieh <jon@cloudera.com> wrote:
> I don't know the finer details of the implementation -- does this proposed
> breakage break coprocessors (requires recode, or requies recompile) or is
> this change just the wire level?  Sounds like things would need to be
> recoded.

Yes, the change will break coprocessor endpoints (just endpoints, not
observers), and will require recoding, specifically:

1) providing PB definitions for the messages and service for the endpoint
2) running protoc to generate the code
3) implement the generated Service interface in the endpoint
4) modify client code to use the PB-based RPC interfaces

> Since Coprocs are relatively new and evolving, I lean towards biting the
> bullet and breaking compat at 0.96.  The longer we wait, the more CP
> clients out there we break, and we'd need another singularity.  There are
> folks building platforms on top of hbase using coprocessors -- the longer
> we wait the harder it will be to make the change.

I agree that the longer we wait, it's likely the more painful it
becomes.  I think it theory it's nice to provide both implementations
in the same release, so that coprocessor endpoint users can make the
transition gradually.  But in this case it might be better to yank out
the old version, so that at least any new implementations don't have
to go through the conversion.

View raw message