William sent me the data off-list. The output of thrift_dump is
attached. I see one list of length zero, and one list of length 36.
Is this what you are seeing on the Java side, or are both lists zero?
If it is the former, then it looks like there is a problem with the writer,
and I'll have to defer to the Ruby folks.
--David
David Reiss wrote:
> Would you mind emailing your .thrift file and the binary blob sent to
> the server? I'll pipe it to thrift_dump (under contrib) to take a
> look to see if the Trips are actually there. Or you can do this yourself
> if you want, assuming you can build the C++ libraries.
>
> --David
>
> William Hatch wrote:
>> Hi Bryan,
>>
>> Thrift version 20080411-r761018
>>
>>
>> Now, I just updated the source and rebuilt and installed it the other
>> day, but that output isn't looking very good if my assumption that the
>> first part is a date string. Updating just now brought it up to rev
>> 761976
>>
>> Bill
>> On Apr 4, 2009, at 12:47 PM, Bryan Duxbury wrote:
>>
>>> What version of Thrift are you using?
>>>
>>> -Bryan
>>>
>>> On Apr 4, 2009, at 9:31 AM, William Hatch wrote:
>>>
>>>> Using the same thrift templates to create Ruby and Java class
>>>> files. I have a Vehicle object that has an array of Trip objects as
>>>> an attribute. If I create the ruby Vehicle object, push some Trip
>>>> objects into it's trips array, serialize it, send it across the
>>>> wire (as simple binary data in a post request, not using thrift for
>>>> that) the java deserialized object will give me a zero count for
>>>> the Vehicles' trips list, the previously added Trip is not there.
>>>> I've confirmed on the ruby side prior to serialization that it is
>>>> there. Any pointers? I should point out that I'm able to make this
>>>> happen from cocoa to java no problem, using the same templates for
>>>> generation. Thanks.
>>>>
>>>>
>>>> William Hatch
>>>>
>>>>
>>>>
{
01: (string) = "2009-04-04T10:10:20-0400",
02: (bool) = true,
03: (bool) = true,
04: (double) = 111.222,
05: (double) = 122.0564,
06: (double) = 255.3968,
07: (double) = -200,
08: (double) = -100,
09: (list) = list<struct>[1] {
[0] = {
01: (string) = "258693",
02: (string) = "1",
03: (i64) = 300,
04: (string) = "2009-04-03T11:50:32-0400",
05: (i16) = 180,
06: (bool) = true,
07: (bool) = true,
08: (bool) = true,
09: (bool) = true,
10: (bool) = true,
11: (i16) = 1,
12: (i16) = 1,
13: (i16) = 1,
14: (list) = list<struct>[0] {
},
15: (list) = list<struct>[36] {
[0] = {
01: (string) = "1",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[1] = {
01: (string) = "2",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[2] = {
01: (string) = "3",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[3] = {
01: (string) = "4",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[4] = {
01: (string) = "5",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[5] = {
01: (string) = "6",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[6] = {
01: (string) = "7",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[7] = {
01: (string) = "8",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[8] = {
01: (string) = "9",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[9] = {
01: (string) = "10",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[10] = {
01: (string) = "11",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[11] = {
01: (string) = "12",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[12] = {
01: (string) = "13",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[13] = {
01: (string) = "14",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[14] = {
01: (string) = "15",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[15] = {
01: (string) = "16",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[16] = {
01: (string) = "17",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[17] = {
01: (string) = "18",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[18] = {
01: (string) = "19",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[19] = {
01: (string) = "20",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[20] = {
01: (string) = "21",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[21] = {
01: (string) = "22",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[22] = {
01: (string) = "23",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[23] = {
01: (string) = "24",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[24] = {
01: (string) = "25",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[25] = {
01: (string) = "26",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[26] = {
01: (string) = "27",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[27] = {
01: (string) = "28",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[28] = {
01: (string) = "29",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[29] = {
01: (string) = "30",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[30] = {
01: (string) = "31",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[31] = {
01: (string) = "32",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[32] = {
01: (string) = "33",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[33] = {
01: (string) = "34",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[34] = {
01: (string) = "35",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[35] = {
01: (string) = "36",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
},
16: (string) = "",
},
},
} {