From 42ad868ce4a7ac00074c90267ea7d4367a0d52a2 Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Fri, 3 Apr 2020 13:31:57 -0400 Subject: [PATCH 1/2] Update CHANGELOG.md to mention limbo resolution throttling This change to the change log was forgotten in the PR that added throttling: #2790 --- packages/firestore/CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/firestore/CHANGELOG.md b/packages/firestore/CHANGELOG.md index 5e295411fec..8f81e326852 100644 --- a/packages/firestore/CHANGELOG.md +++ b/packages/firestore/CHANGELOG.md @@ -1,4 +1,9 @@ # Unreleased +- [changed] Limbo resolution now attempts to resolve a maximum of 100 documents + at a time, instead of resolving all at once (#2790). This addresses an issue + where the server can fail with "resource exhausted" errors if a large number + of documents are in limbo (e.g. 15,000), which can lead to the pathological + client behavior seen in #2683. - [changed] Changed the in-memory representation of Firestore documents to reduce memory allocations and improve performance. Calls to `DocumentSnapshot.getData()` and `DocumentSnapshot.toObject()` will see From ae7215556d08df42b4408b9633364872b190ed7d Mon Sep 17 00:00:00 2001 From: Denver Coneybeare Date: Fri, 3 Apr 2020 15:26:32 -0400 Subject: [PATCH 2/2] Re-word change log entry as suggested in code review --- packages/firestore/CHANGELOG.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/firestore/CHANGELOG.md b/packages/firestore/CHANGELOG.md index 8f81e326852..2267cf7c61a 100644 --- a/packages/firestore/CHANGELOG.md +++ b/packages/firestore/CHANGELOG.md @@ -1,9 +1,6 @@ # Unreleased -- [changed] Limbo resolution now attempts to resolve a maximum of 100 documents - at a time, instead of resolving all at once (#2790). This addresses an issue - where the server can fail with "resource exhausted" errors if a large number - of documents are in limbo (e.g. 15,000), which can lead to the pathological - client behavior seen in #2683. +- [changed] Firestore now limits the number of concurrent document lookups it + will perform when resolving inconsistencies in the local cache (#2683). - [changed] Changed the in-memory representation of Firestore documents to reduce memory allocations and improve performance. Calls to `DocumentSnapshot.getData()` and `DocumentSnapshot.toObject()` will see