THRIFT-3801 - Node Thrift client throws exception with multiplexer and responses that are bigger than a single buffer
Client: nodejs
This closes #773
This closes #1063
This closes #1202
diff --git a/lib/nodejs/lib/thrift/connection.js b/lib/nodejs/lib/thrift/connection.js
index 608e552..db2dbf6 100644
--- a/lib/nodejs/lib/thrift/connection.js
+++ b/lib/nodejs/lib/thrift/connection.js
@@ -122,7 +122,6 @@
var service_name = self.seqId2Service[header.rseqid];
if (service_name) {
client = self.client[service_name];
- delete self.seqId2Service[header.rseqid];
}
/*jshint -W083 */
client._reqs[dummy_seqid] = function(err, success){
@@ -130,6 +129,9 @@
var callback = client._reqs[header.rseqid];
delete client._reqs[header.rseqid];
+ if (service_name) {
+ delete self.seqId2Service[header.rseqid];
+ }
if (callback) {
callback(err, success);
}