Skip to content

Firestore: Disable bloom filter integration tests when using Firestore emulator #5168

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 18, 2023

Conversation

dconeybe
Copy link
Contributor

@dconeybe dconeybe commented Jul 15, 2023

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-js-sdk#7463 and firebase/firebase-ios-sdk#11555.

@github-actions
Copy link
Contributor

github-actions bot commented Jul 15, 2023

Release note changes

No release note changes were detected. If you made changes that should be
present in the next release, ensure you've added an entry in the appropriate
CHANGELOG.md file(s).

@github-actions
Copy link
Contributor

📝 PRs merging into main branch

Our main branch should always be in a releasable state. If you are working on a larger change, or if you don't want this change to see the light of the day just yet, consider using a feature branch first, and only merge into the main branch when the code complete and ready to be released.

@google-oss-bot
Copy link
Contributor

Coverage Report 1

Affected Products

  • firebase-firestore

    Overall coverage changed from 44.35% (392da5f) to 44.33% (51b95ed) by -0.02%.

    FilenameBase (392da5f)Merge (51b95ed)Diff
    DeleteMutation.java95.24%90.48%-4.76%
    LruGarbageCollector.java97.27%93.64%-3.64%
    SetMutation.java97.22%94.44%-2.78%

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/FPJboD3O8R.html

@github-actions
Copy link
Contributor

Unit Test Results

   162 files   -    656     162 suites   - 656   2m 15s ⏱️ - 35m 50s
1 164 tests  - 3 792  1 148 ✔️  - 3 787  16 💤  -   5  0 ±0 
2 328 runs   - 7 493  2 296 ✔️  - 7 483  32 💤  - 10  0 ±0 

Results for commit 245519f. ± Comparison against base commit 392da5f.

@google-oss-bot
Copy link
Contributor

@google-oss-bot
Copy link
Contributor

Startup Time Report 1

Note: Layout is sometimes suboptimal due to limited formatting support on GitHub. Please check this report on GCS.

Notes

Startup Times

  • fire-fst

    DeviceStatisticsDistributions
    oriole-32
    Percentile392da5f51b95edDiffSignificant (?)
    p10331 ±20 μs312 ±13 μs-18.8 μs (-5.7%)NO
    p25343 ±23 μs324 ±15 μs-18.8 μs (-5.5%)NO
    p50364 ±27 μs351 ±30 μs-13.3 μs (-3.6%)NO
    p75434 ±80 μs427 ±83 μs-7.26 μs (-1.7%)NO
    p90515 ±173 μs525 ±135 μs+9.40 μs (+1.8%)NO

    20 test runs in comparison
    CommitTest Runs
    392da5f
    • 2023-07-14_23:51:23.445357_ZPNP
    • 2023-07-14_23:51:23.448233_rbxz
    • 2023-07-14_23:51:23.448246_RCiN
    • 2023-07-14_23:51:23.448254_jckp
    • 2023-07-14_23:51:23.448260_PLGy
    • 2023-07-14_23:51:23.448267_zeFu
    • 2023-07-14_23:51:23.448273_GBtC
    • 2023-07-14_23:51:23.448280_nXuc
    • 2023-07-14_23:51:23.448286_bXSF
    • 2023-07-14_23:51:23.448293_SjyG
    51b95ed
    • 2023-07-15_03:44:58.399459_TJSl
    • 2023-07-15_03:44:58.411534_hrnU
    • 2023-07-15_03:44:58.411779_nUDY
    • 2023-07-15_03:44:58.411792_yuDp
    • 2023-07-15_03:44:58.411799_FEii
    • 2023-07-15_03:44:58.411804_xCmo
    • 2023-07-15_03:44:58.412252_AZlt
    • 2023-07-15_03:44:58.412275_NhBV
    • 2023-07-15_03:44:58.412283_VlJb
    • 2023-07-15_03:44:58.412289_Lpfn
    redfin-30
    Percentile392da5f51b95edDiffSignificant (?)
    p10595 ±34 μs598 ±31 μs+2.71 μs (+0.5%)NO
    p25613 ±42 μs612 ±35 μs-761 ns (-0.1%)NO
    p50638 ±52 μs634 ±39 μs-4.01 μs (-0.6%)NO
    p75669 ±65 μs665 ±48 μs-3.97 μs (-0.6%)NO
    p90713 ±82 μs710 ±57 μs-2.42 μs (-0.3%)NO

    20 test runs in comparison
    CommitTest Runs
    392da5f
    • 2023-07-14_23:51:23.445357_ZPNP
    • 2023-07-14_23:51:23.448233_rbxz
    • 2023-07-14_23:51:23.448246_RCiN
    • 2023-07-14_23:51:23.448254_jckp
    • 2023-07-14_23:51:23.448260_PLGy
    • 2023-07-14_23:51:23.448267_zeFu
    • 2023-07-14_23:51:23.448273_GBtC
    • 2023-07-14_23:51:23.448280_nXuc
    • 2023-07-14_23:51:23.448286_bXSF
    • 2023-07-14_23:51:23.448293_SjyG
    51b95ed
    • 2023-07-15_03:44:58.399459_TJSl
    • 2023-07-15_03:44:58.411534_hrnU
    • 2023-07-15_03:44:58.411779_nUDY
    • 2023-07-15_03:44:58.411792_yuDp
    • 2023-07-15_03:44:58.411799_FEii
    • 2023-07-15_03:44:58.411804_xCmo
    • 2023-07-15_03:44:58.412252_AZlt
    • 2023-07-15_03:44:58.412275_NhBV
    • 2023-07-15_03:44:58.412283_VlJb
    • 2023-07-15_03:44:58.412289_Lpfn
  • timeToInitialDisplay

    DeviceStatisticsDistributions
    oriole-32
    Percentile392da5f51b95edDiffSignificant (?)
    p10201 ±6 ms202 ±3 ms+1.17 ms (+0.6%)NO
    p25208 ±5 ms208 ±3 ms+354 μs (+0.2%)NO
    p50216 ±5 ms216 ±2 ms+363 μs (+0.2%)NO
    p75224 ±4 ms225 ±3 ms+581 μs (+0.3%)NO
    p90232 ±4 ms235 ±6 ms+2.95 ms (+1.3%)NO

    20 test runs in comparison
    CommitTest Runs
    392da5f
    • 2023-07-14_23:51:23.445357_ZPNP
    • 2023-07-14_23:51:23.448233_rbxz
    • 2023-07-14_23:51:23.448246_RCiN
    • 2023-07-14_23:51:23.448254_jckp
    • 2023-07-14_23:51:23.448260_PLGy
    • 2023-07-14_23:51:23.448267_zeFu
    • 2023-07-14_23:51:23.448273_GBtC
    • 2023-07-14_23:51:23.448280_nXuc
    • 2023-07-14_23:51:23.448286_bXSF
    • 2023-07-14_23:51:23.448293_SjyG
    51b95ed
    • 2023-07-15_03:44:58.399459_TJSl
    • 2023-07-15_03:44:58.411534_hrnU
    • 2023-07-15_03:44:58.411779_nUDY
    • 2023-07-15_03:44:58.411792_yuDp
    • 2023-07-15_03:44:58.411799_FEii
    • 2023-07-15_03:44:58.411804_xCmo
    • 2023-07-15_03:44:58.412252_AZlt
    • 2023-07-15_03:44:58.412275_NhBV
    • 2023-07-15_03:44:58.412283_VlJb
    • 2023-07-15_03:44:58.412289_Lpfn
    redfin-30
    Percentile392da5f51b95edDiffSignificant (?)
    p10245 ±3 ms266 ±5 ms+21.0 ms (+8.6%)MAYBE
    p25252 ±3 ms273 ±5 ms+21.7 ms (+8.6%)MAYBE
    p50259 ±4 ms281 ±6 ms+22.5 ms (+8.7%)MAYBE
    p75267 ±3 ms291 ±7 ms+24.1 ms (+9.0%)MAYBE
    p90276 ±4 ms304 ±12 ms+28.2 ms (+10.2%)NO

    20 test runs in comparison
    CommitTest Runs
    392da5f
    • 2023-07-14_23:51:23.445357_ZPNP
    • 2023-07-14_23:51:23.448233_rbxz
    • 2023-07-14_23:51:23.448246_RCiN
    • 2023-07-14_23:51:23.448254_jckp
    • 2023-07-14_23:51:23.448260_PLGy
    • 2023-07-14_23:51:23.448267_zeFu
    • 2023-07-14_23:51:23.448273_GBtC
    • 2023-07-14_23:51:23.448280_nXuc
    • 2023-07-14_23:51:23.448286_bXSF
    • 2023-07-14_23:51:23.448293_SjyG
    51b95ed
    • 2023-07-15_03:44:58.399459_TJSl
    • 2023-07-15_03:44:58.411534_hrnU
    • 2023-07-15_03:44:58.411779_nUDY
    • 2023-07-15_03:44:58.411792_yuDp
    • 2023-07-15_03:44:58.411799_FEii
    • 2023-07-15_03:44:58.411804_xCmo
    • 2023-07-15_03:44:58.412252_AZlt
    • 2023-07-15_03:44:58.412275_NhBV
    • 2023-07-15_03:44:58.412283_VlJb
    • 2023-07-15_03:44:58.412289_Lpfn

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/uLTHJ3ZgDQ/index.html

Copy link
Contributor

@milaGGL milaGGL left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dconeybe dconeybe merged commit b8dc203 into master Jul 18, 2023
@dconeybe dconeybe deleted the dconeybe/BloomFilterBug270731363To291365820 branch July 18, 2023 13:49
@firebase firebase locked and limited conversation to collaborators Aug 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants