You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by "gortiz (via GitHub)" <gi...@apache.org> on 2023/09/25 08:38:39 UTC

[GitHub] [pinot] gortiz opened a new pull request, #11672: Java 21 pipeline

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

   The reason to be of this PR is to be able to progress on https://github.com/apache/pinot/issues/11656.
   
   Specifically it:
   - Includes https://github.com/apache/pinot/pull/11670
   - Includes https://github.com/apache/pinot/pull/11671
   - Adds 2 new tests pipelines:
     - One with Java 21.
     - One with Java 21 that always use the new buffer api. Normally this API is only used when buffers are larger than 2GBs. The idea of this execution is to always use this API (even with small buffers) to increase the confidence on the library.


-- 
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] Java 21 pipeline [pinot]

Posted by "gortiz (via GitHub)" <gi...@apache.org>.
gortiz commented on code in PR #11672:
URL: https://github.com/apache/pinot/pull/11672#discussion_r1360318921


##########
pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/memory/PinotDataBuffer.java:
##########
@@ -152,17 +153,22 @@ public static PinotBufferFactory getFactory() {
   }
 
   public static PinotBufferFactory createDefaultFactory() {
-    return createDefaultFactory(true);
+    String skipBbEnvValue = System.getenv(SKIP_BYTEBUFFER_ENV);
+    boolean prioritizeByteBuffer = !Boolean.parseBoolean(skipBbEnvValue);

Review Comment:
   Changed.
   
   But remember this is called only once per process in production code, so there is no actual gain.



-- 
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] Java 21 pipeline [pinot]

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

   > I think we can just test the default byteBuffer usage.
   > For the others, if you have good tests, we can just write a test suite for testing different behaviors to ensure the coverage.
   
   `PinotDataBufferTest` already does that... but as is proven by this PR, it is not enough. There are some particularities in LArray that are not tested there. Given the importance of the buffer library (it may imply incorrect results or data corruption), I think it is worth it to have at least one execution where the unsafe buffer is tested.
   
   But we can skip it if you think it is not necessary


-- 
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] Java 21 pipeline [pinot]

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

   I've changed the pipeline to run with:
   - Java 11, with byte buffers
   - Java 21, with byte buffers
   - Java 21, without byte buffers
   
   So we have the same number of executions as before, but Java 17 and 20 have been replaced with Java 21 with and without bytebuffers. What do you think?


-- 
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] Java 21 pipeline [pinot]

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

   > > I think we can just test the default byteBuffer usage.
   > > For the others, if you have good tests, we can just write a test suite for testing different behaviors to ensure the coverage.
   > 
   > `PinotDataBufferTest` already does that... but as is proven by this PR, it is not enough. There are some particularities in LArray that are not tested there. Given the importance of the buffer library (it may imply incorrect results or data corruption), I think it is worth it to have at least one execution where the unsafe buffer is tested.
   > 
   > But we can skip it if you think it is not necessary
   
   Make sense, let's enable this for now and we can disable the tests once we have enough confidence.
   


-- 
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] Java 21 pipeline [pinot]

Posted by "gortiz (via GitHub)" <gi...@apache.org>.
gortiz commented on code in PR #11672:
URL: https://github.com/apache/pinot/pull/11672#discussion_r1345383328


##########
pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-spark-3.2/pom.xml:
##########
@@ -36,9 +36,7 @@
   <properties>
     <pinot.root>${basedir}/../../..</pinot.root>
     <phase.prop>package</phase.prop>
-    <scala.major.version>2.12</scala.major.version>

Review Comment:
   Yep. I discussed about that in https://github.com/apache/pinot/issues/11701 and its related issue. I'm ok with changing that name



-- 
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] Java 21 pipeline [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #11672:
URL: https://github.com/apache/pinot/pull/11672#discussion_r1345376387


##########
pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-spark-3.2/pom.xml:
##########
@@ -36,9 +36,7 @@
   <properties>
     <pinot.root>${basedir}/../../..</pinot.root>
     <phase.prop>package</phase.prop>
-    <scala.major.version>2.12</scala.major.version>

Review Comment:
   This module is still called spark `pinot-batch-ingestion-spark-3.2` :p
   I think we can either change it to `pinot-batch-ingestion-spark-3`?



-- 
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] Java 21 pipeline [pinot]

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

   Seems there is a missing rebase for: https://github.com/apache/pinot/pull/11804
   I separated  PR tests files.


-- 
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] Java 21 pipeline [pinot]

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

   > > here are too many CI checks, can we try to reduce the number of tests?
   > 
   > Sure, we need to discuss which ones we want to have.
   > 
   > My recommendation right now is:
   > 
   > 1. Java 11, skip bytebuffers false
   > 2. Java 17, skip bytebuffers false
   > 3. Java 21, skip bytebuffers false
   > 4. Java 21, skip bytebuffers true
   > 
   > Java 11 with skipbuffers true should also be enable, but given it doesn't pass the tests right now, we need to skip it. What do you think?
   
   I think we can just test the default byteBuffer usage.
   For the others, if you have good test coverage, we can just write a test suite for testing to ensure the coverage. 
   


-- 
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] Java 21 pipeline [pinot]

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

   > here are too many CI checks, can we try to reduce the number of tests?
   
   Sure, we need to discuss which ones we want to have.
   
   My recommendation right now is:
   1. Java 11, skip bytebuffers false
   2. Java 17, skip bytebuffers false
   3. Java 21, skip bytebuffers false
   4. Java 21, skip bytebuffers true
   
   Java 11 with skipbuffers true should also be enable, but given it doesn't pass the tests right now, we need to skip it. What do you think?


-- 
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] Java 21 pipeline [pinot]

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

   Also one thing missing there is to add more codecov flags for skip buffer


-- 
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] Java 21 pipeline [pinot]

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

   here are too many CI checks, can we try to reduce the number of tests?


-- 
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] Java 21 pipeline [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #11672:
URL: https://github.com/apache/pinot/pull/11672#discussion_r1345376387


##########
pinot-plugins/pinot-batch-ingestion/pinot-batch-ingestion-spark-3.2/pom.xml:
##########
@@ -36,9 +36,7 @@
   <properties>
     <pinot.root>${basedir}/../../..</pinot.root>
     <phase.prop>package</phase.prop>
-    <scala.major.version>2.12</scala.major.version>

Review Comment:
   This module is still called spark 3.2 :p
   I think we can either change it to `pinot-batch-ingestion-spark-3`?



-- 
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] Java 21 pipeline [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 merged PR #11672:
URL: https://github.com/apache/pinot/pull/11672


-- 
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] Java 21 pipeline [pinot]

Posted by "xiangfu0 (via GitHub)" <gi...@apache.org>.
xiangfu0 commented on code in PR #11672:
URL: https://github.com/apache/pinot/pull/11672#discussion_r1358918958


##########
pinot-segment-spi/src/main/java/org/apache/pinot/segment/spi/memory/PinotDataBuffer.java:
##########
@@ -152,17 +153,22 @@ public static PinotBufferFactory getFactory() {
   }
 
   public static PinotBufferFactory createDefaultFactory() {
-    return createDefaultFactory(true);
+    String skipBbEnvValue = System.getenv(SKIP_BYTEBUFFER_ENV);
+    boolean prioritizeByteBuffer = !Boolean.parseBoolean(skipBbEnvValue);

Review Comment:
   Can we just parse this once? 
   Make `prioritizeByteBuffer` a static value is better?



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


[GitHub] [pinot] codecov-commenter commented on pull request #11672: Java 21 pipeline

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

   ## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/11672?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report
   > Merging [#11672](https://app.codecov.io/gh/apache/pinot/pull/11672?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (bed7375) into [master](https://app.codecov.io/gh/apache/pinot/commit/e6655dd9d417b46db032e8079691d9201ca59edb?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) (e6655dd) will **decrease** coverage by `63.11%`.
   > The diff coverage is `0.00%`.
   
   > :exclamation: Current head bed7375 differs from pull request most recent head dccf179. Consider uploading reports for the commit dccf179 to get more accurate results
   
   ```diff
   @@              Coverage Diff              @@
   ##             master   #11672       +/-   ##
   =============================================
   - Coverage     63.10%    0.00%   -63.11%     
   =============================================
     Files          2343     2264       -79     
     Lines        125693   121960     -3733     
     Branches      19310    18757      -553     
   =============================================
   - Hits          79315        0    -79315     
   - Misses        40728   121960    +81232     
   + Partials       5650        0     -5650     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [corretto](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `0.00% <0.00%> (?)` | |
   | [integration](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `0.00% <0.00%> (-0.01%)` | :arrow_down: |
   | [integration1](https://app.codecov.io/gh/apache/pinot/pull/11672/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/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [java-11](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [java-17](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [java-20](https://app.codecov.io/gh/apache/pinot/pull/11672/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/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `0.00% <0.00%> (?)` | |
   | [temurin](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [unittests](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [unittests1](https://app.codecov.io/gh/apache/pinot/pull/11672/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `?` | |
   | [unittests2](https://app.codecov.io/gh/apache/pinot/pull/11672/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.
   
   | [Files Changed](https://app.codecov.io/gh/apache/pinot/pull/11672?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | |
   |---|---|---|
   | [...ache/pinot/segment/spi/memory/PinotDataBuffer.java](https://app.codecov.io/gh/apache/pinot/pull/11672?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-cGlub3Qtc2VnbWVudC1zcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL3Bpbm90L3NlZ21lbnQvc3BpL21lbW9yeS9QaW5vdERhdGFCdWZmZXIuamF2YQ==) | `0.00% <0.00%> (-79.44%)` | :arrow_down: |
   
   ... and [1996 files with indirect coverage changes](https://app.codecov.io/gh/apache/pinot/pull/11672/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   
   :mega: We’re building smart automated test selection to slash your CI/CD build times. [Learn more](https://about.codecov.io/iterative-testing/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
   


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