Client Timeout
blanchma opened this issue · comments
Using:
"nats": "0.8.4"
"nats-hemera": "^5.3.0"
Node: 8.9.3
NATS: 1.0.4
Code to connect:
const rollbar = require('../rollbar');
const Hemera = require("nats-hemera");
let nats = null;
if (process.env.NODE_ENV === 'test') {
const Nats = require('hemera-testsuite/nats');
nats = new Nats();
} else {
let servers = null;
if (process.env.NATS_SERVERS ) {
servers = JSON.parse(process.env.NATS_SERVERS);
}
nats = require("nats").connect( {noRandomize: true, maxReconnectAttempts: -1, servers });
}
const hemera = new Hemera(nats, { logLevel: "info" });
hemera.transport.on("error", function(error) {
console.error("[Hemera] transport.onError", error);
rollbar.handleErrorWithPayloadData(error, { pattern: error.pattern });
});
hemera.transport.on("close", function(error) {
console.error("[Hemera] transport.onClose", error);
rollbar.handleErrorWithPayloadData(error);
});
hemera.transport.on("connect", function(client) {
console.log("[Hemera] transport.Connected");
});
hemera.on('reconnecting', function() {
console.warn("[Hemera] onReconnecting");
});
hemera.transport.on("disconnect", function(error) {
console.error("[Hemera] transport.onDisconnect", error);
});
hemera.on("error", function(error) {
console.error("[Hemera] onError", error);
rollbar.handleErrorWithPayloadData(error, { pattern: error.pattern });
});
hemera.on("close", function(error) {
console.error("[Hemera] onClose", error);
rollbar.handleErrorWithPayloadData(error);
});
hemera.on("connect", function() {
console.log("[Hemera] Connected");
});
hemera.on("disconnect", function(error) {
console.error("[Hemera] onDisconnect", error);
if (error) {
rollbar.handleError(error);
}
});
hemera.on("serverResponseError", function(error) {
console.error("[Hemera] onServerResponseError", error);
rollbar.handleErrorWithPayloadData(error, { pattern: error.pattern });
});
hemera.on("clientResponseError", function(error) {
console.error("[Hemera] onClientResponseError", error);
rollbar.handleErrorWithPayloadData(error, { pattern: error.pattern });
});
module.exports = hemera;
This codes produce: Client timeout
every time.
If I downgrade to:
nats: 0.7.29
nats-hemera: 3.5.1
I get esporadically: NatsError: Connection closed.
Hi @blanchma please try to reproduce it with the smallest amount of code. You have several conditions, cluster setup in it which I don't know. If you are using hemera-testsuite/nats
remind that it has only limited support. Use hemera-testsuite
to bootstrap a real server and run it with a single server and we will see further.
The issue occurs with cluser and not cluster. Right now I'm deploying a NATS Cloud to see if it occurs there too.
The issue happens in production environment which was working without issues.
I will try to reproduce this with hemera-testsuite
Closing due to inactivity.