[
https://issues.apache.org/jira/browse/THRIFT-4480?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16388706#comment-16388706
]
ASF GitHub Bot commented on THRIFT-4480:
----------------------------------------
Github user asfgit closed the pull request at:
https://github.com/apache/thrift/pull/1487
> 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)