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);
           }