You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jens Geyer (JIRA)" <ji...@apache.org> on 2012/11/29 01:29:58 UTC

[jira] [Comment Edited] (THRIFT-1699) Native Union#read has extra read_field_end call

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

Jens Geyer edited comment on THRIFT-1699 at 11/29/12 12:29 AM:
---------------------------------------------------------------

After reading THRIFT-409 and having a look at the Java reference implementation, I think you are right and the call is indeed wrong there,since the matching call to begin_read_field() is expected to return T_STOP (thus no read_end required), otherwise it raises an exception anyway. 

Could you please provide a patch? And could someone who actually has some kind of Ruby running somewhere please verify this?

Thanks. :-)

                
      was (Author: jensg):
    After reading THRIFT-409 and having a look at the Java "reference" implementation, I think you are right and the call is indeed wrong there,since the matching call to begin_read_field() is expected to return T_STOP (thus no read_end required), otherwise it raises an exception anyway. 

Could you please provide a patch? And could someone who actually has some kind of Ruby running somewhere please verify this?

Thanks. :-)

                  
> Native Union#read has extra read_field_end call
> -----------------------------------------------
>
>                 Key: THRIFT-1699
>                 URL: https://issues.apache.org/jira/browse/THRIFT-1699
>             Project: Thrift
>          Issue Type: Bug
>          Components: Ruby - Library
>    Affects Versions: 0.8
>            Reporter: Kevin Radloff
>         Attachments: rb-struct.diff
>
>
> The native implementation of the Union#read method has an extraneous call to read_field_end. This makes no difference to most protocols because read_field_end is a no-op, but it breaks JSON (in this case my own class, not the one in trunk), which does do something in this method.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira