-
Notifications
You must be signed in to change notification settings - Fork 579
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
Apply bloom filter on existence filter mismatch #4601
Apply bloom filter on existence filter mismatch #4601
Conversation
…/BloomFilter-apply-bloom-filter
Javadoc Changes:--- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/CollectionReference.html 2023-02-03 01:00:30.853047287 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/CollectionReference.html 2023-02-03 00:59:38.791820181 +0000
@@ -205,7 +205,7 @@
<tr>
<td width="40%"><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/android/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>></code></td>
<td>
- <div><code><a href="/docs/reference/android/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a> source)</code></div>
+ <div><code><a href="/docs/reference/android/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/Source.html">Source</a> source)</code></div>
<p>Executes the query and returns the results as a <code>QuerySnapshot</code>.</p>
</td>
</tr> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/DocumentReference.html 2023-02-03 01:00:30.853047287 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/DocumentReference.html 2023-02-03 00:59:38.791820181 +0000
@@ -109,7 +109,7 @@
<tr>
<td width="40%"><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/android/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>></code></td>
<td>
- <div><code><a href="/docs/reference/android/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a> source)</code></div>
+ <div><code><a href="/docs/reference/android/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/Source.html">Source</a> source)</code></div>
<p>Reads the document referenced by this <code>DocumentReference</code>.</p>
</td>
</tr>
@@ -561,7 +561,7 @@
</div>
<div><a name="get-com.google.firebase.firestore.Source-"></a><a name="get"></a>
<h3 class="api-name" id="get(com.google.firebase.firestore.Source)">get</h3>
- <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/android/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>> <a href="/docs/reference/android/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a> source)</pre>
+ <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/android/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>> <a href="/docs/reference/android/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/Source.html">Source</a> source)</pre>
<p>Reads the document referenced by this <code>DocumentReference</code>. </p>
<p>By default, <code>get()</code> attempts to provide up-to-date data when possible by waiting for data from the server, but it may return cached data or fail if you are offline and the server cannot be reached. This behavior can be altered via the <code>Source</code> parameter.</p>
<div class="devsite-table-wrapper">
@@ -573,7 +573,7 @@
</thead>
<tbody class="list">
<tr>
- <td width="40%"><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a> source</code></td>
+ <td width="40%"><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/Source.html">Source</a> source</code></td>
<td>
<p>A value to configure the get behavior.</p>
</td> --- /home/runner/diff/original/firebase-kotlindoc/android/com/google/firebase/firestore/Query.html 2023-02-03 01:00:30.853047287 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/android/com/google/firebase/firestore/Query.html 2023-02-03 00:59:38.795820286 +0000
@@ -165,7 +165,7 @@
<tr>
<td width="40%"><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/android/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>></code></td>
<td>
- <div><code><a href="/docs/reference/android/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a> source)</code></div>
+ <div><code><a href="/docs/reference/android/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/Source.html">Source</a> source)</code></div>
<p>Executes the query and returns the results as a <code>QuerySnapshot</code>.</p>
</td>
</tr>
@@ -890,7 +890,7 @@
</div>
<div><a name="get-com.google.firebase.firestore.Source-"></a><a name="get"></a>
<h3 class="api-name" id="get(com.google.firebase.firestore.Source)">get</h3>
- <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/android/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>> <a href="/docs/reference/android/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a> source)</pre>
+ <pre class="api-signature no-pretty-print">public @<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/android/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>> <a href="/docs/reference/android/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/Source.html">Source</a> source)</pre>
<p>Executes the query and returns the results as a <code>QuerySnapshot</code>. </p>
<p>By default, <code>get()</code> attempts to provide up-to-date data when possible by waiting for data from the server, but it may return cached data or fail if you are offline and the server cannot be reached. This behavior can be altered via the <code>Source</code> parameter.</p>
<div class="devsite-table-wrapper">
@@ -902,7 +902,7 @@
</thead>
<tbody class="list">
<tr>
- <td width="40%"><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="https://developer.android.com/reference/kotlin/java/lang/Object.html">Object</a> source</code></td>
+ <td width="40%"><code>@<a href="https://developer.android.com/reference/kotlin/androidx/annotation/NonNull.html">NonNull</a> <a href="/docs/reference/android/com/google/firebase/firestore/Source.html">Source</a> source</code></td>
<td>
<p>A value to configure the get behavior.</p>
</td> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/CollectionReference.html 2023-02-03 01:00:30.869047576 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/CollectionReference.html 2023-02-03 00:59:38.815820815 +0000
@@ -205,7 +205,7 @@
<tr>
<td width="40%"><code><a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/kotlin/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>!></code></td>
<td>
- <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>)</code></div>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="/docs/reference/kotlin/com/google/firebase/firestore/Source.html">Source</a>)</code></div>
<p>Executes the query and returns the results as a <code>QuerySnapshot</code>.</p>
</td>
</tr> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/DocumentReference.html 2023-02-03 01:00:30.873047648 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/DocumentReference.html 2023-02-03 00:59:38.815820815 +0000
@@ -109,7 +109,7 @@
<tr>
<td width="40%"><code><a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>!></code></td>
<td>
- <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>)</code></div>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="/docs/reference/kotlin/com/google/firebase/firestore/Source.html">Source</a>)</code></div>
<p>Reads the document referenced by this <code>DocumentReference</code>.</p>
</td>
</tr>
@@ -561,7 +561,7 @@
</div>
<div><a name="get-com.google.firebase.firestore.Source-"></a><a name="get"></a>
<h3 class="api-name" id="get(com.google.firebase.firestore.Source)">get</h3>
- <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>): <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>!></pre>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentReference.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="/docs/reference/kotlin/com/google/firebase/firestore/Source.html">Source</a>): <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/kotlin/com/google/firebase/firestore/DocumentSnapshot.html">DocumentSnapshot</a>!></pre>
<p>Reads the document referenced by this <code>DocumentReference</code>. </p>
<p>By default, <code>get()</code> attempts to provide up-to-date data when possible by waiting for data from the server, but it may return cached data or fail if you are offline and the server cannot be reached. This behavior can be altered via the <code>Source</code> parameter.</p>
<div class="devsite-table-wrapper">
@@ -573,7 +573,7 @@
</thead>
<tbody class="list">
<tr>
- <td width="40%"><code>source: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a></code></td>
+ <td width="40%"><code>source: <a href="/docs/reference/kotlin/com/google/firebase/firestore/Source.html">Source</a></code></td>
<td>
<p>A value to configure the get behavior.</p>
</td> --- /home/runner/diff/original/firebase-kotlindoc/kotlin/com/google/firebase/firestore/Query.html 2023-02-03 01:00:30.873047648 +0000
+++ /home/runner/diff/modified/firebase-kotlindoc/kotlin/com/google/firebase/firestore/Query.html 2023-02-03 00:59:38.819820920 +0000
@@ -165,7 +165,7 @@
<tr>
<td width="40%"><code><a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/kotlin/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>!></code></td>
<td>
- <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>)</code></div>
+ <div><code><a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="/docs/reference/kotlin/com/google/firebase/firestore/Source.html">Source</a>)</code></div>
<p>Executes the query and returns the results as a <code>QuerySnapshot</code>.</p>
</td>
</tr>
@@ -890,7 +890,7 @@
</div>
<div><a name="get-com.google.firebase.firestore.Source-"></a><a name="get"></a>
<h3 class="api-name" id="get(com.google.firebase.firestore.Source)">get</h3>
- <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a>): <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/kotlin/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>!></pre>
+ <pre class="api-signature no-pretty-print">fun <a href="/docs/reference/kotlin/com/google/firebase/firestore/Query.html#get(com.google.firebase.firestore.Source)">get</a>(source: <a href="/docs/reference/kotlin/com/google/firebase/firestore/Source.html">Source</a>): <a href="https://developers.google.com/android/reference/com/google/android/gms/tasks/Task.html">Task</a><<a href="/docs/reference/kotlin/com/google/firebase/firestore/QuerySnapshot.html">QuerySnapshot</a>!></pre>
<p>Executes the query and returns the results as a <code>QuerySnapshot</code>. </p>
<p>By default, <code>get()</code> attempts to provide up-to-date data when possible by waiting for data from the server, but it may return cached data or fail if you are offline and the server cannot be reached. This behavior can be altered via the <code>Source</code> parameter.</p>
<div class="devsite-table-wrapper">
@@ -902,7 +902,7 @@
</thead>
<tbody class="list">
<tr>
- <td width="40%"><code>source: <a href="https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html">Any</a></code></td>
+ <td width="40%"><code>source: <a href="/docs/reference/kotlin/com/google/firebase/firestore/Source.html">Source</a></code></td>
<td>
<p>A value to configure the get behavior.</p>
</td> |
Generated by 🚫 Danger |
Coverage Report 1Affected Products
Test Logs |
Size Report 1Affected Products
Test Logs |
Startup Time Report 1Note: Layout is sometimes suboptimal due to limited formatting support on GitHub. Please check this report on GCS. Startup time comparison between the CI merge commit (ded3ee1) and the base commit (2139f5e) are not available. No macrobenchmark data found for the base commit (2139f5e). Analysis for the CI merge commit (ded3ee1) can be found at: |
...base-firestore/src/main/java/com/google/firebase/firestore/remote/WatchChangeAggregator.java
Show resolved
Hide resolved
firebase-firestore/src/main/java/com/google/firebase/firestore/model/DatabaseId.java
Outdated
Show resolved
Hide resolved
firebase-firestore/src/main/java/com/google/firebase/firestore/remote/BloomFilter.java
Outdated
Show resolved
Hide resolved
firebase-firestore/src/main/java/com/google/firebase/firestore/remote/ExistenceFilter.java
Outdated
Show resolved
Hide resolved
firebase-firestore/src/main/java/com/google/firebase/firestore/remote/RemoteSerializer.java
Show resolved
Hide resolved
...base-firestore/src/main/java/com/google/firebase/firestore/remote/WatchChangeAggregator.java
Outdated
Show resolved
Hide resolved
firebase-firestore/src/test/java/com/google/firebase/firestore/remote/BloomFilterTest.java
Outdated
Show resolved
Hide resolved
firebase-firestore/src/test/java/com/google/firebase/firestore/spec/SpecTestCase.java
Outdated
Show resolved
Hide resolved
firebase-firestore/src/test/java/com/google/firebase/firestore/spec/SpecTestCase.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just 3 tiny comments!
Ported from WEB
Add bloom filter to existence filter and watchFilters spec builder : Add bloom filter to existence filter and watchFilters spec builder firebase-js-sdk#6839
apply bloomFilter while handling existence filter mismatch: apply bloomFilter while handling existence filter mismatch firebase-js-sdk#6897
get DatabaseId inside WatchChangeAggregator.targetMetadataProvider : Optimize bloom filter application firebase-js-sdk#6992