From 92d38af16dc4d199f95f8e9201be32eeb60b38ee Mon Sep 17 00:00:00 2001 From: Slava Kim Date: Sat, 15 Feb 2014 01:32:05 -0800 Subject: [PATCH] wip changed published document can go into buffer --- packages/mongo-livedata/oplog_observe_driver.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/mongo-livedata/oplog_observe_driver.js b/packages/mongo-livedata/oplog_observe_driver.js index 3b9a438b9c..02f0909165 100644 --- a/packages/mongo-livedata/oplog_observe_driver.js +++ b/packages/mongo-livedata/oplog_observe_driver.js @@ -276,6 +276,12 @@ _.extend(OplogObserveDriver.prototype, { } else { // after the change doc doesn't stay in the published, remove it self._removePublished(id); + // but it can move into buffered now, check it + var maxBuffered = self._unpublishedBuffer.get(self._unpublishedBuffer.maxElementId()); + if (self._justUpdatedBuffer || (maxBuffered && comparator(newDoc, maxBuffered) < 0)) + self._addPublished(id, newDoc); + else + self._justUpdatedBuffer = false; } } else if (bufferedBefore) { // after the change we can't know if doc is still in the buffer limit