Ruby compact protocol implementation gets mixed up when there are fields that 
don't fit in the delta space
----------------------------------------------------------------------------------------------------------

                 Key: THRIFT-671
                 URL: https://issues.apache.org/jira/browse/THRIFT-671
             Project: Thrift
          Issue Type: Bug
          Components: Library (Ruby)
    Affects Versions: 0.2
            Reporter: Bryan Duxbury
            Assignee: Bryan Duxbury
             Fix For: 0.3


I ran into an interesting bug today. I had a struct with a field whose id was 
greater than could be represented by in the delta space. The protocol specifies 
that when this occurs, we follow the type byte with a varint that contains the 
actual field value.

The problem comes in that when we go to the varint, we don't pop the previous 
field id value off of the stack, leaving it in place for the next operation. 
Sometimes, this probably doesn't even cause a problem, as if it's the last 
field in the entire serialized data, it won't get in the way.

Both the ruby and c versions of the protocol seem to be affected by this issue.

-- 
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