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

[PR] Fix flaky MergeRollupMinionClusterIntegrationTest gauge assertions [pinot]

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

   ## Summary
   
   Extends the polling pattern introduced in #18253 (for `mergeRollupTaskNumBucketsToProcess`) to the remaining five `mergeRollupTaskDelayInNumBuckets.*` `gaugeExists` checks in the same test class.
   
   ## Root cause
   
   The gauge is registered by `MergeRollupTaskGenerator.createOrUpdateDelayMetrics` and removed by `resetDelayMetrics` when a `scheduleTasks` call observes no eligible segments for the table. Each per-iteration body's
   
   ```java
   assertNull(_taskManager.scheduleTasks(context).get(MinionConstants.RealtimeToOfflineSegmentsTask.TASK_TYPE));
   ```
   
   probe triggers an extra synchronized `scheduleTasks` that can race with the previous merge task's segment-lineage commit — transiently reaching the `resetDelayMetrics` branch and removing the gauge. The post-loop `assertTrue(MetricValueUtils.gaugeExists(...))` then flakes on the same window that #18253 addressed for the processAll-mode test.
   
   ## Fix
   
   Added a `waitForGaugesToExist(String...)` helper that polls via `TestUtils.waitForCondition` with the existing `TIMEOUT_IN_MS`, mirroring `waitForExpectedNumBucketsToProcess` introduced in #18253. Replaced the `assertTrue(gaugeExists(...))` calls in:
   
   - `testOfflineTableSingleLevelConcat`
   - `testOfflineTableSingleLevelConcatWithMetadataPush`
   - `testOfflineTableSingleLevelRollup`
   - `testOfflineTableMultiLevelConcat` (polls `45days` + `90days` atomically)
   - `testRealtimeTableSingleLevelConcat`
   
   ## Test plan
   
   - [x] `./mvnw test-compile -pl pinot-integration-tests -am` passes.
   - [x] `./mvnw spotless:apply checkstyle:check license:format license:check -pl pinot-integration-tests` clean.
   - [ ] CI runs `MergeRollupMinionClusterIntegrationTest` successfully across multiple runs.
   
   🤖 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] Fix flaky MergeRollupMinionClusterIntegrationTest gauge assertions [pinot]

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


-- 
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] Fix flaky MergeRollupMinionClusterIntegrationTest gauge assertions [pinot]

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

   ## [Codecov](https://app.codecov.io/gh/apache/pinot/pull/18260?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 55.44%. Comparing base ([`3eff094`](https://app.codecov.io/gh/apache/pinot/commit/3eff094baa2164a2592462a81fce1ee7738d28be?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)) to head ([`bdabcf9`](https://app.codecov.io/gh/apache/pinot/commit/bdabcf996b2786bb22648abb0b93077c202fe12e?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 (3eff094) and HEAD (bdabcf9). Click for more details.
   > 
   > <details><summary>HEAD has 28 uploads less than BASE</summary>
   >
   >| Flag | BASE (3eff094) | HEAD (bdabcf9) |
   >|------|------|------|
   >|java-21|5|1|
   >|unittests1|2|1|
   >|unittests|4|1|
   >|temurin|8|1|
   >|java-11|3|0|
   >|unittests2|2|0|
   >|integration|4|0|
   >|integration2|2|0|
   >|integration1|1|0|
   >|custom-integration1|1|0|
   ></details>
   
   <details><summary>Additional details and impacted files</summary>
   
   
   
   ```diff
   @@             Coverage Diff              @@
   ##             master   #18260      +/-   ##
   ============================================
   - Coverage     63.48%   55.44%   -8.05%     
   + Complexity     1627      837     -790     
   ============================================
     Files          3244     2549     -695     
     Lines        197365   146192   -51173     
     Branches      30540    23517    -7023     
   ============================================
   - Hits         125306    81051   -44255     
   + Misses        62019    58142    -3877     
   + Partials      10040     6999    -3041     
   ```
   
   | [Flag](https://app.codecov.io/gh/apache/pinot/pull/18260/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/18260/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/18260/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/18260/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/18260/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/18260/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/18260/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.44% <ø> (-8.03%)` | :arrow_down: |
   | [temurin](https://app.codecov.io/gh/apache/pinot/pull/18260/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.44% <ø> (-8.05%)` | :arrow_down: |
   | [unittests](https://app.codecov.io/gh/apache/pinot/pull/18260/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.44% <ø> (-8.05%)` | :arrow_down: |
   | [unittests1](https://app.codecov.io/gh/apache/pinot/pull/18260/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | `55.44% <ø> (-0.03%)` | :arrow_down: |
   | [unittests2](https://app.codecov.io/gh/apache/pinot/pull/18260/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/18260?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