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

Reply via email to