You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "Jackie-Jiang (via GitHub)" <gi...@apache.org> on 2026/10/03 20:10:27 UTC
[PR] Build bitmap and sorted doc id sets only through their factories [pinot]
Jackie-Jiang opened a new pull request, #19746:
URL: https://github.com/apache/pinot/pull/19746
## Summary
Follow-up to apache/pinot#19684, which added `create` factories that return an `EmptyDocIdSet` for an empty input. The constructors stayed public, so the rule that an empty result is an `EmptyDocIdSet` was only a convention. This makes the constructors of `BitmapDocIdSet`, `RangelessBitmapDocIdSet` and `SortedDocIdSet` private, so the factories are the only way to build them:
- The remaining callers in `BaseColumnFilterOperator` and `BitmapBasedFilterOperator` use `create`.
- `BaseColumnFilterOperator#excludeNulls` returns an empty result directly when every document is null, instead of intersecting the match with an empty bitmap. A parent `AND` can then short-circuit on it.
- `BitmapDocIdSet`, `RangelessBitmapDocIdSet` and `NotDocIdSet` become `final`, and `BitmapDocIdSet` drops its constructor without a scan count.
- `AndDocIdSetTest` uses the factory, and `SortedDocIdIteratorTest` builds the `SortedDocIdIterator` it tests directly.
Query results do not change.
## API changes
For code outside Pinot that builds these classes:
- The constructors of `BitmapDocIdSet`, `RangelessBitmapDocIdSet` and `SortedDocIdSet` are no longer accessible; use their `create` factories.
- `BitmapDocIdSet`, `RangelessBitmapDocIdSet`, `SortedDocIdSet` and `NotDocIdSet` can no longer be subclassed. A subclass that only reported a scan count can use `BitmapDocIdSet.create(docIds, numDocs, numEntriesScannedInFilter)`.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Build bitmap and sorted doc id sets only through their factories [pinot]
Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #19746:
URL: https://github.com/apache/pinot/pull/19746#issuecomment-5973441001
## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/19746?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
:x: Patch coverage is `73.33333%` with `4 lines` in your changes missing coverage. Please review.
:white_check_mark: Project coverage is 58.11%. Comparing base ([`4e27013`](https://app.codecov.io/gh/apache/pinot/commit/4e27013f9647e95e1ad2a2198d9c26eda411f867?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`510215a`](https://app.codecov.io/gh/apache/pinot/commit/510215acd500e787f7c3aff0cdb4bee21ad79c0b?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 4 commits behind head on master.
| [Files with missing lines](https://app.codecov.io/gh/apache/pinot/pull/19746?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines |
|---|---|---|
| [...core/operator/filter/BaseColumnFilterOperator.java](https://app.codecov.io/gh/apache/pinot/pull/19746?src=pr&el=tree&filepath=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Ffilter%2FBaseColumnFilterOperator.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9maWx0ZXIvQmFzZUNvbHVtbkZpbHRlck9wZXJhdG9yLmphdmE=) | 71.42% | [1 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/19746?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [.../pinot/core/operator/docidsets/BitmapDocIdSet.java](https://app.codecov.io/gh/apache/pinot/pull/19746?src=pr&el=tree&filepath=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Fdocidsets%2FBitmapDocIdSet.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9kb2NpZHNldHMvQml0bWFwRG9jSWRTZXQuamF2YQ==) | 80.00% | [1 Missing :warning: ](https://app.codecov.io/gh/apache/pinot/pull/19746?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
| [...ore/operator/filter/BitmapBasedFilterOperator.java](https://app.codecov.io/gh/apache/pinot/pull/19746?src=pr&el=tree&filepath=pinot-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fpinot%2Fcore%2Foperator%2Ffilter%2FBitmapBasedFilterOperator.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3QtY29yZS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvcGlub3QvY29yZS9vcGVyYXRvci9maWx0ZXIvQml0bWFwQmFzZWRGaWx0ZXJPcGVyYXRvci5qYXZh) | 0.00% | [0 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/pinot/pull/19746?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) |
> :exclamation: There is a different number of reports uploaded between BASE (4e27013) and HEAD (510215a). Click for more details.
>
> <details><summary>HEAD has 14 uploads less than BASE</summary>
>
>| Flag | BASE (4e27013) | HEAD (510215a) |
>|------|------|------|
>|lane-a|1|0|
>|integration|2|0|
>|java-25|4|1|
>|integration1|2|0|
>|temurin|4|1|
>|lane-b|1|0|
>|unittests|2|1|
>|unittests2|1|0|
></details>
<details><summary>Additional details and impacted files</summary>
```diff
@@ Coverage Diff @@
## master #19746 +/- ##
=============================================
- Coverage 68.22% 58.11% -10.11%
+ Complexity 1450 1 -1449
=============================================
Files 3520 2708 -812
Lines 228899 167431 -61468
Branches 36305 27355 -8950
=============================================
- Hits 156162 97301 -58861
- Misses 60493 61945 +1452
+ Partials 12244 8185 -4059
```
| [Flag](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
|---|---|---|
| [integration](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [integration1](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [java-25](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `58.11% <73.33%> (-10.11%)` | :arrow_down: |
| [lane-a](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [lane-b](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
| [temurin](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `58.11% <73.33%> (-10.11%)` | :arrow_down: |
| [unittests](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `58.11% <73.33%> (-10.11%)` | :arrow_down: |
| [unittests1](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `58.11% <73.33%> (+<0.01%)` | :arrow_up: |
| [unittests2](https://app.codecov.io/gh/apache/pinot/pull/19746/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#carryforward-flags-in-the-pull-request-comment) to find out more.
</details>
[:umbrella: View full report in Codecov by Harness](https://app.codecov.io/gh/apache/pinot/pull/19746?dropdown=coverage&src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
:loudspeaker: Have feedback on the report? [Share it here](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache).
<details><summary> :rocket: New features to boost your workflow: </summary>
- :package: [JS Bundle Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org
Re: [PR] Build bitmap and sorted doc id sets only through their factories [pinot]
Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang merged PR #19746:
URL: https://github.com/apache/pinot/pull/19746
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org