mirror of https://codeberg.org/pzp/pzp-db.git
log: dont compact on startup
This commit is contained in:
parent
1f88d67116
commit
29badc9fd8
|
@ -169,11 +169,8 @@ function Log(filename, opts) {
|
||||||
if (err) throw err
|
if (err) throw err
|
||||||
// prettier-ignore
|
// prettier-ignore
|
||||||
debug('Opened log file, last record is at log offset %d', lastRecOffset.value)
|
debug('Opened log file, last record is at log offset %d', lastRecOffset.value)
|
||||||
compact(function doneCompactingOnStartup(err) {
|
// @ts-ignore
|
||||||
if (err) debug('Failed compacting on startup: %s', err.message)
|
while (waitingLoad.length) waitingLoad.shift()()
|
||||||
// @ts-ignore
|
|
||||||
while (waitingLoad.length) waitingLoad.shift()()
|
|
||||||
})
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,9 @@ test('del()', async (t) => {
|
||||||
|
|
||||||
assert.deepEqual(after, ['m0', 'm1', 'm3', 'm4'], 'msgs after the delete')
|
assert.deepEqual(after, ['m0', 'm1', 'm3', 'm4'], 'msgs after the delete')
|
||||||
|
|
||||||
|
await p(peer.db.log.compact)()
|
||||||
|
assert('compacted')
|
||||||
|
|
||||||
await p(peer.close)(true)
|
await p(peer.close)(true)
|
||||||
|
|
||||||
const log = Log(path.join(DIR, 'db.bin'), {
|
const log = Log(path.join(DIR, 'db.bin'), {
|
||||||
|
|
|
@ -77,6 +77,9 @@ test('erase()', async (t) => {
|
||||||
|
|
||||||
assert.deepEqual(after2, [1, 2, 3, 4, 5], '5 metadata exists after the erase')
|
assert.deepEqual(after2, [1, 2, 3, 4, 5], '5 metadata exists after the erase')
|
||||||
|
|
||||||
|
await p(peer.db.log.compact)()
|
||||||
|
assert('compacted')
|
||||||
|
|
||||||
await p(peer.close)(true)
|
await p(peer.close)(true)
|
||||||
|
|
||||||
const log = Log(path.join(DIR, 'db.bin'), {
|
const log = Log(path.join(DIR, 'db.bin'), {
|
||||||
|
|
|
@ -48,7 +48,7 @@ test('Log deletes', async (t) => {
|
||||||
await p(log.close)()
|
await p(log.close)()
|
||||||
})
|
})
|
||||||
|
|
||||||
await t.test('Deleted records auto-compacted upon re-opening', async (t) => {
|
await t.test('Deleted records are not invalid upon re-opening', async (t) => {
|
||||||
const file = '/tmp/ppppp-db-log-test-del-invalid.log'
|
const file = '/tmp/ppppp-db-log-test-del-invalid.log'
|
||||||
try {
|
try {
|
||||||
fs.unlinkSync(file)
|
fs.unlinkSync(file)
|
||||||
|
@ -94,12 +94,19 @@ test('Log deletes', async (t) => {
|
||||||
},
|
},
|
||||||
(err) => {
|
(err) => {
|
||||||
assert.ifError(err)
|
assert.ifError(err)
|
||||||
assert.deepEqual(arr, [{ text: 'm0' }, { text: 'm2' }])
|
assert.deepEqual(arr, [{ text: 'm0' }, null, { text: 'm2' }])
|
||||||
resolve()
|
resolve()
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
await assert.rejects(p(log2._get)(offset2), (err) => {
|
||||||
|
assert.ok(err)
|
||||||
|
assert.equal(err.message, 'Record has been deleted')
|
||||||
|
assert.equal(err.code, 'ERR_AAOL_DELETED_RECORD')
|
||||||
|
return true
|
||||||
|
})
|
||||||
|
|
||||||
await p(log2.close)()
|
await p(log2.close)()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue