[ https://issues.apache.org/jira/browse/THRIFT-4480?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III reassigned THRIFT-4480: ------------------------------------------ Assignee: James E. King, III > 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 > > 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)