yashmayya opened a new pull request, #18650: URL: https://github.com/apache/pinot/pull/18650
## Problem `OfflineClusterIntegrationTest#testExplainPlanQueryV2` is intermittently flaky. It compares the EXPLAIN output's "Rule Execution Times" section after masking each per-rule time with `*`, using the regex `Time: \d+\.\d+`. Rule timings are rendered as `durationNanos / 1_000_000.0` (a `double`) via `Double.toString()` in `RuleTimingPlannerListener`. When a rule runs fast enough (sub-microsecond, i.e. `< 0.001` ms), `Double.toString()` switches to scientific notation such as `1.5E-4`. The old regex matches only the `1.5` mantissa and leaves the exponent behind, producing `Time:*E-4`, which no longer matches the expected `Time:*`: ``` expected: Rule: AggregateProjectPullUpConstants -> Time:* found: Rule: AggregateProjectPullUpConstants -> Time:*E-4 ``` The rule list itself is correct/unchanged — only the time-masking is wrong. This is a pre-existing flake, unrelated to any Calcite version. ## Fix Extend the masking regex to also strip an optional scientific-notation exponent, so both `1.5` and `1.5E-4` collapse to `*`: ``` Time: \d+\.\d+ -> Time: \d+\.\d+(?:[eE][-+]?\d+)? ``` Applied to both occurrences in the test (the two responses asserted in the method). ## Testing `./mvnw -pl pinot-integration-tests test -Dtest=OfflineClusterIntegrationTest#testExplainPlanQueryV2 -Dsurefire.failIfNoSpecifiedTests=false` passes. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
