[
https://issues.apache.org/jira/browse/THRIFT-1239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Bryan Duxbury updated THRIFT-1239:
----------------------------------
Attachment: thrift-1239-v2.patch
I took a look at this monster of a patch and on the whole I'm really liking it.
I've attached an updated version that has some slight changes, and there are a
few things that I think need to be addressed.
First, there were a lot of unnecessary formatting changes to the java code
generator. I reverted the vast majority of them and added a few other fixes
that we actually wanted. Please do not change the code formatting at the same
time as an actual functionality change - it makes it very difficult to figure
out what's *really* being changed.
Second, I made TestTTupleProtocol extend ProtocolTestBase so that it gets the
same level of workout as Binary and Compact protocols. However, there are some
test failures as a result. I think it stems from treating "default"
requiredness fields as required, when they're really more like optional.
I think if we take care of the new test failures, we'll be really close to
ready to commit this.
> TupleProtocol- An extremely compact, temporary protocol
> -------------------------------------------------------
>
> Key: THRIFT-1239
> URL: https://issues.apache.org/jira/browse/THRIFT-1239
> Project: Thrift
> Issue Type: New Feature
> Components: Java - Compiler
> Reporter: Armaan Sarkar
> Priority: Minor
> Attachments: pluggable_serializer_master.patch, thrift-1239-v2.patch,
> tuple_generator.patch, tuple_protocol.patch
>
>
> Currently, protocols are built to be pretty robust to 'schema' changes. This
> is done by sending metadata about when a struct or a field will start/end,
> the number of fields to expect and the types of each field, etc. However,
> there are cases when the recipient knows all of this, even before it receives
> this metadata. In these cases, sending the metadata unnecessarily eats up
> bandwidth. The TupleProtocol rectifies this by sending and receiving only the
> value of each field in a specified order. The only metadata passed is about
> variable information such as the size of a container or which optional fields
> are set.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira