HIRANO Satoshi created THRIFT-3328: -------------------------------------- Summary: A callback is not called when a server is down. Key: THRIFT-3328 URL: https://issues.apache.org/jira/browse/THRIFT-3328 Project: Thrift Issue Type: Bug Components: JavaScript - Library Reporter: HIRANO Satoshi
When an async method is called in a JS client for a server which is down, the call should call a supplied callback. Actually the async call fails with the following error and the callback not called. OPTIONS http://xxxx net::ERR_CONNECTION_REFUSED Note that the above OPTIONS is because I use HTTP OPTIONS. Don't mind. Thrift.TXHRTransport.flush() has the following fragment. if (callback) { //Ignore XHR callbacks until the data arrives, then call the // client's callback xreq.onreadystatechange = (function() { var clientCallback = callback; return function() { if (this.readyState == 4 && this.status == 200) { self.setRecvBuffer(this.responseText); clientCallback(); } }; }()); } I think the reason why the callback is not called is that "this.status == 200" ignores fatal statuses and skips clientCallback(). -- This message was sent by Atlassian JIRA (v6.3.4#6332)