You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Hudson (JIRA)" <ji...@apache.org> on 2011/08/11 21:40:27 UTC

[jira] [Commented] (THRIFT-1239) TupleProtocol- An extremely compact, temporary protocol

    [ https://issues.apache.org/jira/browse/THRIFT-1239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13083427#comment-13083427 ] 

Hudson commented on THRIFT-1239:
--------------------------------

Integrated in Thrift #218 (See [https://builds.apache.org/job/Thrift/218/])
    THRIFT-169. java: Pluggable Serializers
THRIFT-1239. java: TupleProtocol- An extremely compact, temporary protocol

This monster commit is the combination of the two above tickets, providing a new serialization framework and the first new consumer in one go.

Patch: Armaan Sarkar

bryanduxbury : http://svn.apache.org/viewvc/?view=rev&rev=1156728
Files : 
* /thrift/trunk/lib/java/src/org/apache/thrift/scheme/StandardScheme.java
* /thrift/trunk/lib/java/src/org/apache/thrift/scheme/IScheme.java
* /thrift/trunk/lib/java/src/org/apache/thrift/scheme/TupleScheme.java
* /thrift/trunk/lib/java/src/org/apache/thrift/scheme
* /thrift/trunk/lib/java/test/org/apache/thrift/protocol/TestTTupleProtocol.java
* /thrift/trunk/compiler/cpp/src/generate/t_java_generator.cc
* /thrift/trunk/lib/java/src/org/apache/thrift/protocol/TTupleProtocol.java
* /thrift/trunk/lib/java/src/org/apache/thrift/scheme/SchemeFactory.java
* /thrift/trunk/lib/java/test/org/apache/thrift/Fixtures.java
* /thrift/trunk/lib/java/src/org/apache/thrift/protocol/TCompactProtocol.java
* /thrift/trunk/lib/java/src/org/apache/thrift/protocol/TProtocol.java


> 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
>            Assignee: Armaan Sarkar
>            Priority: Minor
>             Fix For: 0.8
>
>         Attachments: pluggable_serializer_master.patch, thrift-1239-v2.patch, thrift-1239-v3.patch, thrift-1239-v4.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