[ 
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

        

Reply via email to