fixed some consistency bugs. new method seems to work well, it still has problems though
This commit is contained in:
parent
acf8d37616
commit
638c575dfc
@ -87,7 +87,7 @@ var files = {
|
||||
src: polyfills.concat(concatOrder.map(function (f) {
|
||||
return 'src/' + f
|
||||
})),
|
||||
test: ['Helper.spec.js'].concat(concatOrder.map(function (f) {
|
||||
test: ['build/Helper.spec.js'].concat(concatOrder.map(function (f) {
|
||||
return 'build/' + f
|
||||
}).concat(['build/**/*.spec.js']))
|
||||
}
|
||||
|
@ -167,6 +167,11 @@ class AbstractTransaction {
|
||||
}
|
||||
* garbageCollectOperation (id) {
|
||||
var o = yield* this.getOperation(id)
|
||||
|
||||
if (o == null) {
|
||||
return
|
||||
}
|
||||
|
||||
if (!o.deleted) {
|
||||
yield* this.deleteOperation(id)
|
||||
o = yield* this.getOperation(id)
|
||||
@ -422,7 +427,7 @@ class AbstractOperationStore {
|
||||
} else {
|
||||
while (op != null) {
|
||||
var state = yield* this.getState(op.id[0])
|
||||
if (op.id[1] === state.clock || (op.id[1] < state.clock && (yield* this.getOperation(op.id)) == null)) {
|
||||
if (op.id[1] === state.clock) {
|
||||
// either its a new operation (1. case), or it is an operation that was deleted, but is not yet in the OS
|
||||
if (op.id[1] === state.clock) {
|
||||
state.clock++
|
||||
|
@ -110,7 +110,7 @@ Y.Memory = (function () {
|
||||
}
|
||||
* checkDeleteStoreForState (state) {
|
||||
var n = this.ds.findNodeWithUpperBound([state.user, state.clock])
|
||||
if (n !== null && n.val.id[0] === state.user) {
|
||||
if (n !== null && n.val.id[0] === state.user && n.val.gc) {
|
||||
state.clock = Math.max(state.clock, n.val.id[1] + n.val.len)
|
||||
}
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
/* global createUsers, wait, Y, compareAllUsers, getRandomNumber, applyRandomTransactions, async, garbageCollectAllUsers, describeManyTimes */
|
||||
/* eslint-env browser,jasmine */
|
||||
|
||||
var numberOfYArrayTests = 50
|
||||
var numberOfYArrayTests = 10
|
||||
var repeatArrayTests = 300
|
||||
|
||||
describe('Array Type', function () {
|
||||
|
Loading…
x
Reference in New Issue
Block a user