You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Randy Abernethy (JIRA)" <ji...@apache.org> on 2017/03/23 16:03:41 UTC

[jira] [Updated] (THRIFT-4131) Javascript with WebSocket handles oneway methods wrong

     [ https://issues.apache.org/jira/browse/THRIFT-4131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randy Abernethy updated THRIFT-4131:
------------------------------------
    Attachment: 0001-js-WebSocket-Fix-handling-oneway-methods.patch

proposed patch

> Javascript with WebSocket handles oneway methods wrong
> ------------------------------------------------------
>
>                 Key: THRIFT-4131
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4131
>             Project: Thrift
>          Issue Type: Bug
>          Components: JavaScript - Compiler, JavaScript - Library
>    Affects Versions: 0.10.0
>         Environment: all
>            Reporter: Martin Hejnfelt
>            Assignee: Randy Abernethy
>            Priority: Blocker
>         Attachments: 0001-js-WebSocket-Fix-handling-oneway-methods.patch
>
>
> When using the WebSocket transport all client->server calls install a callback, and we depend on these callbacks being push()'ed and shift()'ed sequentially, however, oneway methods never gets a reply, and therefore the installed callback doesn't get removed, causing the callback array to get "out of synchronization" so to speak, and subsequent calls, now deal with the wrong callbacks, as data comes in.
> To remedy this I changed the compiler/generator to send a null callback to the transport->flush method for oneway methods, and then in the WebSocket transport code, make a null check and only install defined callbacks. This seem to fix it for me. I can send in patches if necessary.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)