Skip to content

If Vertica is not available, backup_server_node is not used. #114

Description

@hulmgulm-at-work

To test the backup_server_node configuration, I created a configuration with an invalid host/port but a valid backup_server_node:

const connection = {
    backup_server_node: `vertica.example.com:5433`,
      host: 'invalidhost.example.com',
      port: 9999,
      user: 'user',
      password: 'password',
      database: 'database',
      log(message) {
        console.log(new Date(), message);
      }
}

Then I get a pool with this connection details:
const pool = new Pool(connection);
When I make a query on this pool

pool.connect().then(client => {
        const query = client.query(new Query('SELECT 1'), (result) => {
          console.log(result);
        });
});

the pool tries to make a connection to Vertica (which is not working, because at the given host/port is no Vertica) but does not switch to the backup. I see the following in the log:

2023-01-31T09:51:41.295Z checking client timeout
2023-01-31T09:51:41.296Z connecting new client
2023-01-31T09:53:51.132Z client failed to connect
2023-01-31T09:53:51.132Z pulse queue
2023-01-31T09:53:51.133Z no queued requests

Notice, that it takes the pool more than two minutes to notice, that it is not able to connect.
At the end, I get the following error: Error acquiring a connection from pool: connect ETIMEDOUT 10.168.179.57:9999 +0ms

How can I make vertica-nodejs to use backup_server_node in case of a connection failure?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions