[ 
https://issues.apache.org/jira/browse/THRIFT-446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mohammad Shahangian updated THRIFT-446:
---------------------------------------

    Attachment: Thrift-446-v6.patch

This patch will handle the bugs mentioned by Bryan. What was happening was that 
readStrucBegin was being called both in the partialDeserialize method and the 
read method in some edge cases. To deal with this we moved readStructBegin out 
of the loop for the initial outter struct then called it each time the path 
index is incremented. Additionally we had to make sure not to call 
readStructBegin on the last step of the path because it would be called by the 
read function.

> Partial deserialization
> -----------------------
>
>                 Key: THRIFT-446
>                 URL: https://issues.apache.org/jira/browse/THRIFT-446
>             Project: Thrift
>          Issue Type: New Feature
>            Reporter: Bryan Duxbury
>            Assignee: Mohammad Shahangian
>            Priority: Minor
>         Attachments: Thrift-446-v4.patch, thrift-446-v5.patch, 
> Thrift-446-v6.patch
>
>
> There are some use cases where you might have a fair amount of serialized 
> data coming to you, but you're only interested in specific fields from that 
> data. The way it works now, you are stuck paying the price to deserialize 
> that extra data no matter what. 
> In the simplest approach, it would be nice if you could specify some sort of 
> mask to use to suppress the deserialization of a given set of fields. A 
> slightly more complex approach would be to not just skip the deserialization, 
> but to actually hang on to the bytes that you didn't deserialize, so that 
> when it came time to re-serialize, you could just rewrite the original data. 
> Obviously this would imply some interesting interactions with the validation 
> system and probably nontrivial changes elsewhere (isset, protocol interface, 
> etc). However, it could yield a big performance benefit in specific 
> applications.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to