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)

Reply via email to