You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/02/22 02:42:44 UTC

[jira] [Commented] (THRIFT-3801) Node Thrift client throws exception with multiplexer and responses that are bigger than a single buffer

    [ https://issues.apache.org/jira/browse/THRIFT-3801?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15877333#comment-15877333 ] 

ASF GitHub Bot commented on THRIFT-3801:
----------------------------------------

GitHub user jeking3 opened a pull request:

    https://github.com/apache/thrift/pull/1202

    THRIFT-3801: Fix exception with nodejs multiplexer

    THRIFT-3801 - Node Thrift client throws exception with multiplexer and responses that are bigger than a single buffer
    
    Supercedes https://github.com/apache/thrift/pull/1063
    Supercedes https://github.com/apache/thrift/pull/773
    
    Just want a clean CI build before merging.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jeking3/thrift THRIFT-3801

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/1202.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #1202
    
----
commit b7578ffffb966197592bc30577e07af368461477
Author: Adam Curtis <ad...@mooloop.com>
Date:   2016-08-11T09:47:37Z

    Fix exception with nodejs multiplexer
    
    THRIFT-3801 - Node Thrift client throws exception with multiplexer and responses that are bigger than a single buffer

----


> 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 make requests using the buffered transport, binary protocol and the multiplexer, I've been getting an exception on receiving responses 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.15#6346)