[ 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