kdelay commented on PR #19946: URL: https://github.com/apache/druid/pull/19946#issuecomment-5267147912
Disclosure first: I have an open PR for the same issue (#19941), so please read this as an interested party's report rather than a neutral review. Everything below is reproducible. **Neither of the two new tests has run yet, because `druid-sql` test compilation fails.** On this branch as-is (0867233), JDK 25 on macOS: ``` mvn test -pl sql -am -Dtest=DruidStatementTest -Dsurefire.failIfNoSpecifiedTests=false -Pskip-static-checks -Dweb.console.skip=true ``` ``` [ERROR] .../sql/avatica/DruidStatementTest.java:[370,40] cannot find symbol [ERROR] symbol: method size() [ERROR] location: variable rows of type java.lang.Iterable<java.lang.Object> ``` The same error repeats at 392 and 399. `Meta.Frame.rows` is `Iterable<Object>`, so `frame.rows.size()` does not compile. Merged with current master there is a second failure on top of that one. `DruidStatementTest` was migrated to JUnit 5 in b1b968365d (#19909, 2026-08-08) and `org.junit.Assert` is no longer imported there, so every `Assert.assertX` in the added tests becomes an unresolved symbol. That is what the red jobs on this PR report: `Compilation failure ... on project druid-sql` in `test-jdk25-[D*]` and the other unit test shards. **Once it compiles, both new tests fail.** I changed only the three `frame.rows.size()` calls to `Lists.newArrayList(frame.rows).size()` (`Lists` is already imported in the file), left everything else untouched, and re-ran the same command: ``` [ERROR] Tests run: 16, Failures: 2, Errors: 0, Skipped: 0 [ERROR] DruidStatementTest.testMaxRowCountDirect:371 [ERROR] DruidStatementTest.testMaxRowCountOverMultipleFramesDirect:400 ``` Both failures are the `assertTrue(frame.done)` line. This is the same defect that was already flagged inline on `DruidJdbcResultSet`: `offset` is incremented after the frame is constructed, so `yielder.isDone() || offset >= limit` tests the pre-fetch offset, and the frame that reaches the limit still reports `done = false`. The row-count assertions on those same frames pass, so the limit itself does take effect; it is only the termination flag. -- 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]
