[ https://issues.apache.org/jira/browse/THRIFT-1151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13023143#comment-13023143 ]
Anatoly Kanivetsky commented on THRIFT-1151: -------------------------------------------- Sorry, just uncomment this function in patch :) Example of problem: in some.thrift file: struct StructA { 1: i16 x; } struct StructB { 1: i32 x; } struct StructC { 1: StructA x; } in some.erl file, S1 = #structC{x=#structB{x=1}}, S2 = #structC{x=#structA{x=1}}, Sending S1 should fail with error, since it is not valid StructC. Can be validated with service, or just by: {ok, Transport} = thrift_memory_buffer:new(), {ok, Protocol} = thrift_binary_protocol:new(Transport), thrift_protocol:write(Protocol, {{struct, {'some_types', structC}}, S1}) > Produce more informative runtime error in case of schema and data mismatch > during serialization > ----------------------------------------------------------------------------------------------- > > Key: THRIFT-1151 > URL: https://issues.apache.org/jira/browse/THRIFT-1151 > Project: Thrift > Issue Type: Improvement > Components: Erlang - Library > Reporter: Anatoly Kanivetsky > Attachments: diff.txt > > > This patch adds generation of informative error during serialization of > struct, which is unmatched to it's struct_info. > Instead of generating {error, enival} in gen_tcp during sending invalid > binary, it produces accurate error with some useful information. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira