You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "anshul98ks123 (via GitHub)" <gi...@apache.org> on 2026/05/20 12:19:23 UTC

[PR] Add pinot-bom module for external consumers [pinot]

anshul98ks123 opened a new pull request, #18540:
URL: https://github.com/apache/pinot/pull/18540

   ### Issue
   
   External integrators of Apache Pinot (downstream forks, vendors, embedded users) that inherit from `org.apache.pinot:pinot` via `<parent>` cannot pin all `pinot-*` versions through a single managed entry. There is no published BOM artifact today; consumers have to either:
   
   - Inherit from `<parent>org.apache.pinot:pinot</parent>` and accept that `${project.version}` inside the parent's `<dependencyManagement>` re-interpolates against the **child's** effective POM (leaking the consumer's own `${revision}` into Pinot dep coordinates and breaking resolution against Maven Central / mirrors), or
   - Hand-maintain an explicit `<version>${apache.pinot.version}</version>` override **for every new `pinot-*` module** the parent adds.
   
   Every new module (e.g., `pinot-sql-ddl`, `pinot-udf-test`, `pinot-materialized-view`) re-breaks downstream CI until the override list catches up. The StarTree fork has hit this three times in the last five days alone — see [startree-pinot#3309](https://github.com/startreedata/startree-pinot/pull/3309) (added overrides for `pinot-sql-ddl` + `pinot-udf-test`) and [startree-pinot#3338](https://github.com/startreedata/startree-pinot/pull/3338) (added an override for `pinot-materialized-view`, the module introduced in #18528).
   
   ### Fix
   
   Add a new `pinot-bom` module that publishes a standalone Bill-of-Materials POM listing every published `pinot-*` artifact at a hardcoded literal version. Downstream consumers import it via `<scope>import</scope>`:
   
   ```xml
   <dependencyManagement>
     <dependencies>
       <dependency>
         <groupId>org.apache.pinot</groupId>
         <artifactId>pinot-bom</artifactId>
         <version>1.6.0-SNAPSHOT</version>
         <type>pom</type>
         <scope>import</scope>
       </dependency>
     </dependencies>
   </dependencyManagement>
   ```
   
   The BOM uses literal versions (not `${project.version}`) so the published POM does not interpolate against the importer's project. Every new `pinot-*` module added in subsequent releases is picked up via the BOM with no consumer-side patch required.
   
   The existing `<dependencyManagement>` block in the parent `pom.xml` is left untouched — Pinot's own modules continue to inherit it via `<parent>` exactly as before. The BOM is purely additive.
   
   ### Testing
   
   ```bash
   ./mvnw install -pl pinot-bom -DskipTests
   # Verify the installed pom has literal versions, not ${project.version}:
   grep '<version>' ~/.m2/repository/org/apache/pinot/pinot-bom/<version>/pinot-bom-*.pom | head
   ```
   
   - [x] `pinot-bom` builds + installs locally.
   - [x] Installed POM contains literal version strings for every `pinot-*` dep (verified via grep).
   - [x] Existing `pinot-*` modules unaffected (no change to their POMs or to the root reactor besides adding the new module entry).
   - [ ] Smoke test from a downstream consumer that imports the BOM via `<scope>import</scope>` — see companion PR [startreedata/startree-pinot#XXXX](https://github.com/startreedata/startree-pinot/pull/XXXX).
   


-- 
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] Add pinot-bom module for external consumers [pinot]

Posted by "codecov-commenter (via GitHub)" <gi...@apache.org>.
codecov-commenter commented on PR #18540:
URL: https://github.com/apache/pinot/pull/18540#issuecomment-4498821183

   ## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/18540?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   :white_check_mark: All modified and coverable lines are covered by tests.
   :white_check_mark: Project coverage is 56.71%. Comparing base ([`005cac7`](https://app.codecov.io/gh/apache/pinot/commit/005cac70a463865722eae944c006318bc3f5cf0b?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`d4608bd`](https://app.codecov.io/gh/apache/pinot/commit/d4608bd044b0d60bfecf189602c1bc81506a8f78?dropdown=coverage&el=desc&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 (005cac7) and HEAD (d4608bd). Click for more details.
   > 
   > <details><summary>HEAD has 16 uploads less than BASE</summary>
   >
   >| Flag | BASE (005cac7) | HEAD (d4608bd) |
   >|------|------|------|
   >|java-21|5|1|
   >|unittests|2|1|
   >|temurin|5|1|
   >|unittests2|1|0|
   >|integration|3|0|
   >|integration1|1|0|
   >|integration2|1|0|
   >|custom-integration1|1|0|
   ></details>
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #18540      +/-   ##
   ============================================
   - Coverage     64.27%   56.71%   -7.56%     
   ============================================
     Files          3311     2561     -750     
     Lines        203784   148593   -55191     
     Branches      31720    24021    -7699     
   ============================================
   - Hits         130974    84274   -46700     
   + Misses        62308    57147    -5161     
   + Partials      10502     7172    -3330     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/pinot/pull/18540/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [custom-integration1](https://app.codecov.io/gh/apache/pinot/pull/18540/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [integration](https://app.codecov.io/gh/apache/pinot/pull/18540/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/18540/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [integration2](https://app.codecov.io/gh/apache/pinot/pull/18540/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [java-21](https://app.codecov.io/gh/apache/pinot/pull/18540/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.71% <ø> (-7.56%)` | :arrow_down: |
   | [temurin](https://app.codecov.io/gh/apache/pinot/pull/18540/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.71% <ø> (-7.56%)` | :arrow_down: |
   | [unittests](https://app.codecov.io/gh/apache/pinot/pull/18540/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.71% <ø> (-7.56%)` | :arrow_down: |
   | [unittests1](https://app.codecov.io/gh/apache/pinot/pull/18540/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `56.71% <ø> (-0.03%)` | :arrow_down: |
   | [unittests2](https://app.codecov.io/gh/apache/pinot/pull/18540/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 Sentry](https://app.codecov.io/gh/apache/pinot/pull/18540?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] Add pinot-bom module for external consumers [pinot]

Posted by "Jackie-Jiang (via GitHub)" <gi...@apache.org>.
Jackie-Jiang commented on PR #18540:
URL: https://github.com/apache/pinot/pull/18540#issuecomment-4764074634

   Does this PR still apply?
   You should be able to test the STP side directly against this PR


-- 
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] Add pinot-bom module for external consumers [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on PR #18540:
URL: https://github.com/apache/pinot/pull/18540#issuecomment-4765609727

   Closing as superseded: `pinot-bom` was added to master by #18542 (merged 2026-05-27). That version lists 61 `pinot-*` artifacts vs the 60 here and includes `pinot-query-planner-spi`, which this PR is missing — so rebasing this onto current master would only overwrite the merged BOM with a strict subset.
   
   One thing this PR does that #18542 does not is wire up `flatten-maven-plugin` (`flattenMode=bom`) to resolve `${project.version}` to a literal in the *published* POM. If the BOM currently on master ships raw `${project.version}` and re-interpolates against importers, that's worth a small standalone follow-up against the existing `pinot-bom` module rather than reviving this PR. Thanks @anshul98ks123!


-- 
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] Add pinot-bom module for external consumers [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 closed pull request #18540: Add pinot-bom module for external consumers
URL: https://github.com/apache/pinot/pull/18540


-- 
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