Skip to content

Commit a02381c

Browse files
PcheloloMarko Obrovac
authored andcommitted
Reconnect manually only when the session expired (#5)
* Reconnect manually only when the session expired * Bump version
1 parent 0048f9e commit a02381c

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

lib/client.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -83,13 +83,12 @@ Client.prototype.connect = function () {
8383
self.emit('brokersChanged');
8484
}, 3000);
8585
});
86-
zk.once('disconnected', function () {
86+
zk.once('expired', function () {
87+
// We were disconnected for too long and session expired - recreate the client
8788
if (!zk.closed) {
8889
zk.close();
89-
setTimeout(function () {
90-
self.connect();
91-
self.emit('zkReconnect');
92-
}, Math.floor(Math.random() * 1000) + 1000);
90+
self.connect();
91+
self.emit('zkReconnect');
9392
}
9493
});
9594
zk.on('error', function (err) {

lib/zookeeper.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ var Zookeeper = function (connectionString, options) {
2424
this.client.on('disconnected', function () {
2525
that.emit('disconnected');
2626
});
27+
this.client.on('expired', function () {
28+
that.emit('expired');
29+
});
2730
this.client.connect();
2831
};
2932

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "wmf-kafka-node",
33
"description": "node client for Apache kafka, only support kafka 0.8 and above",
4-
"version": "0.1.5",
4+
"version": "0.1.6",
55
"main": "kafka.js",
66
"dependencies": {
77
"async": ">0.9 <2.0",

0 commit comments

Comments
 (0)