[ https://issues.apache.org/jira/browse/THRIFT-3669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15193249#comment-15193249 ]
Christian Bürckert commented on THRIFT-3669: -------------------------------------------- Sorry due to lack of time I cannot provide any tests in your testing environment. Currently I cannot take the efforts to read and understand how testing is done in thrift :( The patch is created based on the master's version of the thrift.js to the one I've provided. I tried to include the changes needed but some changes created by auto syntax formating cannot be undone easily :( Anyway I hope the patch helps. > JS Deserialization of lists of lists is broken > ---------------------------------------------- > > Key: THRIFT-3669 > URL: https://issues.apache.org/jira/browse/THRIFT-3669 > Project: Thrift > Issue Type: Bug > Components: JavaScript - Library > Affects Versions: 0.9.3, 1.0 > Reporter: Christian Bürckert > Fix For: 0.9.3, 1.0 > > Attachments: 0001-Fixed-THRIFT-3669.patch, thrift.js > > > struct QueryResult { > 1: required list<list<string>> rows; > } > service QueryService{ > QueryResult query(); > } > Using TJSONProtocol the list<list<string>> is transmitted correctly but > deserialized wrong. Only the first sublist will contain the correct string > values the second, third and so on will be empty. The error is a combination > of readListBegin, readListEnd and readString (in thrift.js) which somehow > interacts wrongly with the internal rstack when lists are included in lists. > As a temporary solution until the deserialization is fixed I advice others to > create an intermediate struct which contains the sublists. -- This message was sent by Atlassian JIRA (v6.3.4#6332)