[jira] [Assigned] (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 ] James E. King, III reassigned THRIFT-4131: -- Assignee: James E. King, III (was: Randy Abernethy) > 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: James E. King, III >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.4.14#64029)
[jira] [Assigned] (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 reassigned THRIFT-4131: --- Assignee: Randy Abernethy > 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 > > 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)