fix gc timeout

This commit is contained in:
Kevin Jahns 2017-05-24 16:34:57 +02:00
parent 2ea163a5cf
commit 68c417fe6f
4 changed files with 9 additions and 7 deletions

View File

@ -79,7 +79,7 @@ export default function extendDatabase (Y /* :any */) {
function garbageCollect () {
return os.whenTransactionsFinished().then(function () {
if (os.gc1.length > 0 || os.gc2.length > 0) {
if (os.gcTimeout > 0 && (os.gc1.length > 0 || os.gc2.length > 0)) {
if (!os.y.connector.isSynced) {
console.warn('gc should be empty when not synced!')
}
@ -265,7 +265,7 @@ export default function extendDatabase (Y /* :any */) {
}
}
* destroy () {
clearInterval(this.gcInterval)
clearTimeout(this.gcInterval)
this.gcInterval = null
this.stopRepairCheck()
}

View File

@ -225,13 +225,13 @@ class YConfig {
} else {
this.connector.disconnect()
}
return this.db.whenTransactionsFinished(function () {
this.db.destroyTypes()
return this.db.whenTransactionsFinished().then(function () {
self.db.destroyTypes()
// make sure to wait for all transactions before destroying the db
this.db.requestTransaction(function * () {
self.db.requestTransaction(function * () {
yield * self.db.destroy()
})
return this.db.whenTransactionsFinished()
return self.db.whenTransactionsFinished()
})
}
}

View File

@ -55,6 +55,9 @@ export async function compareUsers (t, users) {
t.compare(data[i].ss, data[i + 1].ss, 'ss')
}, `Compare user${i} with user${i + 1}`)
}
await Promise.all(users.map(async (u) => {
await u.close()
}))
}
export async function initArrays (t, opts) {

View File

@ -1,5 +1,4 @@
/* global Y */
import { wait } from './helper.js'
var rooms = {}