Firestore: Disable bloom filter integration tests when using Firestore emulator #7463
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Firestore emulator does not (as of July 14, 2023) send an existence filter when a query is resumed by clients. As a result the client fails to delete documents that were deleted since the query was last run. The emulator will soon be fixed to send the existence filter (Googlers see b/270731363).
There are two bloom filter integration tests, the first of which tried to do as much as it could when running against the emulator and completing successfully if it got that far. That test, though, didn't really validate anything and by it passing it incorrectly implied that the bloom filter logic was validated. This test is now completely skipped when running against the Firestore emulator, which also makes the test simpler and easier to maintain.
These two bloom filter integration tests also mentioned the bug b/270731363 in their comments. These comments have now been updated to instead mention b/291365820, which is the new issue that tracks adding bloom filter support to the Firestore emulator.
Note to reviewer: set your diff tool to ignore whitespace to make reviewing easier; some indentation changes caused a large number of lines to be affected with whitespace-only changes.
The corresponding PRs in the other SDKs are firebase/firebase-android-sdk#5168 and firebase/firebase-ios-sdk#11555.