hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-16567) Upgrade to protobuf3
Date Tue, 06 Sep 2016 23:33:20 GMT
stack created HBASE-16567:

             Summary: Upgrade to protobuf3
                 Key: HBASE-16567
                 URL: https://issues.apache.org/jira/browse/HBASE-16567
             Project: HBase
          Issue Type: Task
          Components: Protobufs
    Affects Versions: 2.0.0
            Reporter: stack
            Assignee: stack
            Priority: Critical

Move master branch on to protobuf3. See https://github.com/google/protobuf/releases We'd do
it because pb3 saves some on byte copies can work with offheap buffers -- needed for the off-heap
write path project -- thought read-time is still a TODO.

HBASE-15638 has us first shading protobufs before upgrading. Let us list here issues just
going to pb3 without shading if only for completeness sake; i.e. do we have to shade?

 * pb3 is by default wire compatible with pb2.
 * protoc3 run against our .protos works fine except pb3 breaks our HBaseZeroCopyLiteralByteString
 * Starting up a cluster that is all pb3'd seems to work fine.
 * A pb2 branch-1 can read and write against the pb3 master cluster.

What will break if we just upgrade to pb3?

 * We should be able to write HDFS messages on our AsyncWAL using pb3; the pb2 HDFS should
be able to  read them (not tested). Or maybe not. See policy here: https://github.com/google/protobuf/issues/1852
 * Core Coprocessor Endpoints such as AccessControl seem to just work (their protos will have
been protoc3'd). I did simple test with a server from master branch up on pb3 and then going
against it with a branch-1 client on pb2. I was able to add grants.
 * For non-core CPEPs where the protos are pb2 still, it might just work. To test. It would
not be the end-of-the-world if they did not.

This message was sent by Atlassian JIRA

View raw message