Skip to content

Commit ea1b3b9

Browse files
committed
Last minute fixes.
1 parent 36870d7 commit ea1b3b9

File tree

2 files changed

+33
-7
lines changed

2 files changed

+33
-7
lines changed

lib/commands.js

Lines changed: 32 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,21 @@ function load (kv) {
2828
process.nextTick(function () {
2929
tracker.on('replica', sendData)
3030
})
31-
tracker.on('moved', function () {
31+
tracker.on('move', function (peer) {
32+
if (peer) {
33+
sendData(peer)
34+
}
3235
entry.hasTracker = false
3336
const rs = streams.get(key) || []
34-
rs.forEach((stream) => stream.end())
37+
rs.forEach((stream) => {
38+
stream.push(null)
39+
})
3540
streams.delete(key)
36-
if (!entry.hasReplicator) {
37-
db.delete(key)
38-
}
41+
setTimeout(function () {
42+
if (!entry.hasReplicator) {
43+
db.delete(key)
44+
}
45+
}, 30000).unref()
3946
})
4047

4148
if (dest) {
@@ -67,6 +74,7 @@ function load (kv) {
6774

6875
function put (req, reply) {
6976
const key = req.key
77+
const sendData = genSendData(key)
7078
var needReply = true
7179
var entry = db.get(key) || new Entry(key)
7280

@@ -94,18 +102,36 @@ function load (kv) {
94102
if (array) {
95103
array.forEach((stream) => stream.push(req.value))
96104
}
105+
}
106+
107+
function genSendData (key) {
108+
return sendData
97109

98110
function sendData (peer, cb) {
99111
if (typeof cb !== 'function') {
100112
cb = bigError
101113
}
114+
115+
const entry = db.get(key)
116+
if (!entry) {
117+
cb()
118+
return
119+
}
120+
121+
const req = {
122+
ns: 'kv',
123+
cmd: 'put',
124+
key: entry.key,
125+
value: entry.value
126+
}
127+
102128
upring.peerConn(peer).request(req, function (err) {
103129
if (err) {
104130
cb(err)
105131
return
106132
}
107133

108-
logger.info({ key }, 'replicated key')
134+
logger.debug({ key, value: entry.value }, 'replicated key')
109135

110136
cb()
111137
})

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"pino-http": "^1.3.0",
4545
"pump": "^1.0.1",
4646
"readable-stream": "^2.1.5",
47-
"upring": "^0.14.0",
47+
"upring": "^0.14.1",
4848
"url-format-lax": "^1.0.0"
4949
}
5050
}

0 commit comments

Comments
 (0)