[
https://issues.apache.org/jira/browse/BOOKKEEPER-582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13623976#comment-13623976
]
Ivan Kelly commented on BOOKKEEPER-582:
---------------------------------------
I think the two can converge towards something very similar. The problem here
was that there was a branch with protobuf changes, but no patch attached to a
jira, so I wasn't aware of it when I started implementing this. I posted the
first patch on 6th march. I met you guys in SF on 11th march. But in any case,
there's only one protocol with 2 requests, so any design for it will look very
similar.
The main bone of contention seems to be BC. Maintaining BC is something I think
is very worthwhile. It's very nice that I can have a ZK server at 3.4.0 and
take a 3.3.0 client and they work without issue. Conversely, it has caused me
to swear many times that a Hadoop 1.0.4 namenode will not work with a hadoop
0.21 client. Im not even sure how a 4.2.1 server would react with a pure
protobuf message, but when I was testing the handshake stuff in BOOKKEEPER-597,
i managed to hang the server if the message wasn't long enough (it reads
ledgerid and entryid before checking the version number. stupid, but we have to
live with it).
Also, I prefer to make these changes in a piecemeal fashion that have a couple
of changes in one. The CL with protobufs in the twitter branch has a couple,
especially around how packets are processed, extra threads etc. That is
definitely something I want to bring into trunk. Not in the same patch though.
Also, processing seems to be mixed with deserialisation. This is probably due
to it being before the netty changes.
Regarding BOOKKEEPER-558, thats my bad. I had clear forgot that JIRA existed
when I created this one.
> Make bookie and client use protobuf for requests (non-wire part)
> ----------------------------------------------------------------
>
> Key: BOOKKEEPER-582
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-582
> Project: Bookkeeper
> Issue Type: Sub-task
> Reporter: Ivan Kelly
> Assignee: Ivan Kelly
> Fix For: 4.3.0
>
> Attachments:
> 0002-BOOKKEEPER-582-Make-bookie-and-client-use-protobuf-f.patch,
> 0002-BOOKKEEPER-582-Make-bookie-and-client-use-protobuf-f.patch,
> 0002-BOOKKEEPER-582-Make-bookie-and-client-use-protobuf-f.patch,
> 0003-BOOKKEEPER-582-Make-bookie-and-client-use-protobuf-f.patch
>
>
> Make the client and the bookie use protobufs internally. This is the first
> step to using protobufs on the wire, but for the moment, BookieRequestHandler
> decodes the old wire protocol into the protobuf messages. Once this is in,
> enabling on the wire will be very simple, and the old manual serialization
> can be made "legacy" (still supported, but deprecated).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira