diff --git a/firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalStore.java b/firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalStore.java index 64ccbb066b2..c3ef12277db 100644 --- a/firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalStore.java +++ b/firebase-firestore/src/main/java/com/google/firebase/firestore/local/LocalStore.java @@ -138,7 +138,15 @@ public LocalStore(Persistence persistence, User initialUser) { } public void start() { - mutationQueue.start(); + startMutationQueue(); + } + + private void startMutationQueue() { + persistence.runTransaction( + "Start MutationQueue", + () -> { + mutationQueue.start(); + }); } // PORTING NOTE: no shutdown for LocalStore or persistence components on Android. @@ -148,7 +156,7 @@ public ImmutableSortedMap handleUserChange(User user List oldBatches = mutationQueue.getAllMutationBatches(); mutationQueue = persistence.getMutationQueue(user); - mutationQueue.start(); + startMutationQueue(); List newBatches = mutationQueue.getAllMutationBatches();