[ 
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)

Reply via email to