You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "James E. King, III (JIRA)" <ji...@apache.org> on 2018/03/06 23:29:00 UTC

[jira] [Resolved] (THRIFT-4480) NodeJS warning on binary_protocol writeMessageEnd when seqid = 0

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

James E. King, III resolved THRIFT-4480.
----------------------------------------
       Resolution: Fixed
    Fix Version/s: 0.12.0

Committed - thanks!

> NodeJS warning on binary_protocol writeMessageEnd when seqid = 0
> ----------------------------------------------------------------
>
>                 Key: THRIFT-4480
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4480
>             Project: Thrift
>          Issue Type: Bug
>          Components: Node.js - Library
>    Affects Versions: 0.11.0
>            Reporter: Brian Forbis
>            Assignee: James E. King, III
>            Priority: Minor
>             Fix For: 0.12.0
>
>
> The nodeJS implementation of binary protocol has some internal state that keeps track of the `seqid` between calls to `writeMessageBegin` and `writeMessageEnd`. There is a line that will emit a warning if the seqid can't be unset:
> {code:java}
> TBinaryProtocol.prototype.writeMessageEnd = function() {
>     if (this._seqid) {
>         this._seqid = null;
>     } else {
>         log.warning('No seqid to unset');
>     }
> };{code}
>  
> but it does not take into account that the seqid can be set to "0" which is a falsey value. This causes warnings to be emitted for valid messages.
> This bug can be reproduced by connecting a perl client to a nodeJS server. Perl will always send a sequenceID of 0, causing the warning to occur every time the node server responds to an RPC request.
>  
> Even though this warn line has been in the nodeJS library for several releases, the bug only affects thrift version 11 because until that version the logger had not been implemented yet and would swallow all warnings.
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)