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