diff options
author | Michael Lehenbauer <mikelehen@gmail.com> | 2018-03-12 11:53:26 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-12 11:53:26 -0700 |
commit | f122cf7ce802972bd2fea45acac3deae2affcafa (patch) | |
tree | 58e996c86a48528fc5c96c6a535295adcfac723e /Firestore/Source/Local/FSTMemoryMutationQueue.mm | |
parent | 7522314812b934884f8877d36a66a4686f424a8f (diff) |
Fix MutationQueue issue resulting in re-sending acknowledged writes. (#909)
Port of: https://github.com/firebase/firebase-js-sdk/pull/559
Should address #772 once released.
getNextMutationBatchAfterBatchId() was not respecting
highestAcknowledgedBatchId and therefore we were resending writes after the
network was disabled / re-enabled.
Diffstat (limited to 'Firestore/Source/Local/FSTMemoryMutationQueue.mm')
-rw-r--r-- | Firestore/Source/Local/FSTMemoryMutationQueue.mm | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Firestore/Source/Local/FSTMemoryMutationQueue.mm b/Firestore/Source/Local/FSTMemoryMutationQueue.mm index 5b2fca6..7e5cc02 100644 --- a/Firestore/Source/Local/FSTMemoryMutationQueue.mm +++ b/Firestore/Source/Local/FSTMemoryMutationQueue.mm @@ -192,10 +192,10 @@ static const NSComparator NumberComparator = ^NSComparisonResult(NSNumber *left, // All batches with batchID <= self.highestAcknowledgedBatchID have been acknowledged so the // first unacknowledged batch after batchID will have a batchID larger than both of these values. - batchID = MAX(batchID + 1, self.highestAcknowledgedBatchID); + FSTBatchID nextBatchID = MAX(batchID, self.highestAcknowledgedBatchID) + 1; // The requested batchID may still be out of range so normalize it to the start of the queue. - NSInteger rawIndex = [self indexOfBatchID:batchID]; + NSInteger rawIndex = [self indexOfBatchID:nextBatchID]; NSUInteger index = rawIndex < 0 ? 0 : (NSUInteger)rawIndex; // Finally return the first non-tombstone batch. |