[ https://issues.apache.org/jira/browse/THRIFT-1772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13510165#comment-13510165 ]
Avi Flamholz commented on THRIFT-1772: -------------------------------------- Henrique -- I have a working and tested patch, but it doesn't fix the fastbinary protocol. I don't really know how to fix that. Should I submit the patch and then you guys can fix fastbinary? Avi > Serialization does not check types of embedded structures. > ---------------------------------------------------------- > > Key: THRIFT-1772 > URL: https://issues.apache.org/jira/browse/THRIFT-1772 > Project: Thrift > Issue Type: Bug > Components: Python - Library > Affects Versions: 0.8, 0.9 > Reporter: Avi Flamholz > > Consider the following struct definitions: > struct Point { > 1: required double x; > 2: required double y; > } > struct Review { > 1: required i32 rating; > 2: optional string text; > } > struct Place { > 1: required string name; > 2: required Point location; > 3: optional Review review; > } > If I create a Place object and set the location field to a Review, it will > serialize no problem. > place = Place(name="avi's place", location=Review(rating=1.0)) > transportOut = TTransport.TMemoryBuffer() > protocolOut = TBinaryProtocol.TBinaryProtocol(transportOut) > place.write(protocolOut) > serialized = transportOut.getvalue() > This is confusing because if I set an i32 field to a string serialization > does raise an error. -- 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