don't fail on invalid server deltas which don't apply to the local snapshot; wipe the local snapshot instead

This commit is contained in:
Dan Mills 2008-04-02 00:00:24 -07:00
Родитель 22b777ce83
Коммит ecd1ab657d
1 изменённых файлов: 11 добавлений и 3 удалений

Просмотреть файл

@ -571,9 +571,17 @@ Engine.prototype = {
break;
}
for (var i = 0; i < deltas.length; i++) {
snap.applyCommands.async(snap, self.cb, deltas[i]);
yield;
try {
for (var i = 0; i < deltas.length; i++) {
snap.applyCommands.async(snap, self.cb, deltas[i]);
yield;
}
} catch (e) {
this._log.error("Error applying remote deltas to saved snapshot");
this._log.error("Clearing local snapshot; next sync will merge");
this._log.debug("Exception: " + Utils.exceptionStr(e));
this._log.trace("Stack:\n" + Utils.stackTrace(e));
this._snapshot.wipe();
}
ret.status = 0;