[ https://issues.apache.org/jira/browse/THRIFT-4639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16734959#comment-16734959 ]
Randy Abernethy commented on THRIFT-4639: ----------------------------------------- [~jking3], Thrift JavaScript does and always has depended on seq nums. It is an asyn language by nature and if you make multiple requests, while they will be returned in order, there is no way for the callback dispatcher to know which call back to call without the seq num. All servers should return whatever is passed in the seq num field back to the client in the response. There is a reason the C++ readMessageBegin(fname, mtype, seqid) signature includes seqid. While JavaScript requires sequence numbers many languages could benefit from seq numbers in their async impls. You are right though we have work to do (though each fix is trivial) to comply with this maxim. I think it would be better said that: # Thrift Clients should not require sequence numbers, though they may use them # Thrift Servers must return the seq num they receive with a request with the response (n.b. this is work in progress) > Sequence numbering for multiplexed protocol broken > -------------------------------------------------- > > Key: THRIFT-4639 > URL: https://issues.apache.org/jira/browse/THRIFT-4639 > Project: Thrift > Issue Type: Bug > Components: Node.js - Library > Affects Versions: 0.11.0, 0.12.0 > Reporter: PH Lundblom > Priority: Critical > Time Spent: 10m > Remaining Estimate: 0h > > Handling of client sequence numbering for multiplexed protocol is broken. > Current implementation uses client internal variable "seqid" which should be > "_seqid" > -- This message was sent by Atlassian JIRA (v7.6.3#76005)