thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stas Sribnyi (Jira)" <>
Subject [jira] [Created] (THRIFT-5025) Incomplete promise rejection
Date Thu, 21 Nov 2019 13:09:00 GMT
Stas Sribnyi created THRIFT-5025:

             Summary: Incomplete promise rejection
                 Key: THRIFT-5025
             Project: Thrift
          Issue Type: Bug
          Components: Node.js - Library
    Affects Versions: 0.12.0
            Reporter: Stas Sribnyi

I have a problem while performing client requests created with Multiplexer and HttpConnection.

In case of some errors like 'ECONNREFUSED', 'Connection timed out' and some other errors http_connection
*emits an error, but nothing handles it*, therefore promise does not reject and in fact just
hangs, so we have memory leaks.

Looks like promise can only be rejected only with a call of clientCallback

As far as I did not find any example of such cases (multiplexer+http connection+node), it
is possible that I use it in the wrong way, but from the source code perspective it looks
like a design flaw, could you please take a look into this issue?

Here is a simplified source code I use:
const multiplexer = new Multiplexer();
const connection = new HttpConnection({
      path: '/rpc',
      transport: TBufferedTransport,
      protocol: TBinaryProtocol,
      nodeOptions: {
            host: '',
            port: 8989,

const client = multiplexer.createClient(

try {
      const user = await client.registerUser({
            // Some props related to user
      } as any);

      // perform some actions with response
} catch (error) { // this never happens in case of connection issues and some internal errors of http connection
      // log error 

This message was sent by Atlassian Jira

View raw message