Philip Frank created THRIFT-4437: ------------------------------------ Summary: JS WebSocket client callbacks invoked twice on parallel requests Key: THRIFT-4437 URL: https://issues.apache.org/jira/browse/THRIFT-4437 Project: Thrift Issue Type: Bug Components: JavaScript - Library Affects Versions: 0.11.0 Reporter: Philip Frank
When using a WebSocket Transport and doing two service calls immediately, without waiting for the first to return, e.g. like this: {code:javascript} const t = new Thrift.TWebSocketTransport('ws://localhost:8338/hello'); const p = new Thrift.TJSONProtocol(t); const client = new HelloSvcClient(p); t.open(); client.test(function (res) { console.log(1, res); }); client.test(function (res) { console.log(2, res); }); {code} The callback to the first invocation is called twice, and the second never, i.e. console shows: {code} 1 "test result" 1 "test result" {code} instead of the expected {code} 1 "test result" 2 "test result" {code} I suspect this bug was introduced with the patch for https://issues.apache.org/jira/browse/THRIFT-4131 where for some reason the callback registered twice when set: https://github.com/apache/thrift/pull/1372/files -- This message was sent by Atlassian JIRA (v6.4.14#64029)