[ 
https://issues.apache.org/jira/browse/THRIFT-3801?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark White updated THRIFT-3801:
-------------------------------
    Description: 
In a situation using the node.js library to communicate using the buffered 
transport, binary protocol and the multiplexer, I've been getting an exception 
from line 145 of connection.js 
(https://github.com/apache/thrift/blob/0.9.3/lib/nodejs/lib/thrift/connection.js).

at TCP.onread (net.js:531:20)
at Socket.Readable.push (_stream_readable.js:111:10)
at readableAddChunk (_stream_readable.js:153:18)
at Socket.emit (events.js:169:7)
at emitOne (events.js:77:13)
at Socket.<anonymous> 
(/src/node_modules/thrift/lib/nodejs/lib/thrift/buffered_transport.js:48:5)
at /src/node_modules/thrift/lib/nodejs/lib/thrift/connection.js:151:35
TypeError: Cannot set property '-1' of undefined

It looks like the issue is that if a message consists of multiple parts, the 
first part removes the seqid to service mapping in line 142, then it's no 
longer available for the second part thus the error. If I'm right the fix would 
be to remove the mapping later on once the final part has arrived.

  was:
I've been getting an exception from line 145 of connection.js 
(https://github.com/apache/thrift/blob/0.9.3/lib/nodejs/lib/thrift/connection.js).

at TCP.onread (net.js:531:20)
at Socket.Readable.push (_stream_readable.js:111:10)
at readableAddChunk (_stream_readable.js:153:18)
at Socket.emit (events.js:169:7)
at emitOne (events.js:77:13)
at Socket.<anonymous> 
(/src/node_modules/thrift/lib/nodejs/lib/thrift/buffered_transport.js:48:5)
at /src/node_modules/thrift/lib/nodejs/lib/thrift/connection.js:151:35
TypeError: Cannot set property '-1' of undefined

It looks like the issue is that if a message consists of multiple parts, the 
first part removes the seqid to service mapping in line 142, then it's no 
longer available for the second part thus the error. If I'm right the fix would 
be to remove the mapping later on once the final part has arrived.


> Node Thrift client throws exception with multiplexer and responses that are 
> bigger than a single buffer
> -------------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-3801
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3801
>             Project: Thrift
>          Issue Type: Bug
>          Components: Node.js - Library
>    Affects Versions: 0.9.3
>            Reporter: Mark White
>
> In a situation using the node.js library to communicate using the buffered 
> transport, binary protocol and the multiplexer, I've been getting an 
> exception from line 145 of connection.js 
> (https://github.com/apache/thrift/blob/0.9.3/lib/nodejs/lib/thrift/connection.js).
> at TCP.onread (net.js:531:20)
> at Socket.Readable.push (_stream_readable.js:111:10)
> at readableAddChunk (_stream_readable.js:153:18)
> at Socket.emit (events.js:169:7)
> at emitOne (events.js:77:13)
> at Socket.<anonymous> 
> (/src/node_modules/thrift/lib/nodejs/lib/thrift/buffered_transport.js:48:5)
> at /src/node_modules/thrift/lib/nodejs/lib/thrift/connection.js:151:35
> TypeError: Cannot set property '-1' of undefined
> It looks like the issue is that if a message consists of multiple parts, the 
> first part removes the seqid to service mapping in line 142, then it's no 
> longer available for the second part thus the error. If I'm right the fix 
> would be to remove the mapping later on once the final part has arrived.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to