diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLiteIndexManager.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLiteIndexManager.java index 629123b95b9..4c4ef52c653 100644 --- a/firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLiteIndexManager.java +++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/local/SQLiteIndexManager.java @@ -93,9 +93,15 @@ final class SQLiteIndexManager implements IndexManager { private final Queue nextIndexToUpdate = new PriorityQueue<>( 10, - (l, r) -> - Long.compare( - l.getIndexState().getSequenceNumber(), r.getIndexState().getSequenceNumber())); + (l, r) -> { + int sequenceCmp = + Long.compare( + l.getIndexState().getSequenceNumber(), r.getIndexState().getSequenceNumber()); + if (sequenceCmp == 0) { + return l.getCollectionGroup().compareTo(r.getCollectionGroup()); + } + return sequenceCmp; + }); private boolean started = false; private int memoizedMaxIndexId = -1;