FrankChen021 commented on PR #20033: URL: https://github.com/apache/druid/pull/20033#issuecomment-5322992971
Exact-head triage for PR #20033 at 160e9933dd4bcf4c40e27bd9c3cc1f41c286b4ea against master cb26014728ab3239bc8d7391f9cf6466e63905b0: this PR changes only /pom.xml, org.codehaus.mojo:javacc-maven-plugin 2.4 to 3.2.0. The change is PR-caused and reproducible, not a flaky CI issue. Plugin 3.2.0 resolves net.java.dev.javacc:javacc 7.0.13. Druid SQL generate-sources under JDK 25 reports JavaCC 7.0.13 and emits DruidSqlParserImpl.java with five definite-assignment errors for startNum, endNum, and reluctant at the PatternFactor path; the same error is present in CodeQL jobs 95547457061, 95547457134, 95547457136, Static Checks jobs 95547458275, 95547458332, 95547458335, 95547458358, 95547458361, and Unit and Integration jobs 95547458618, 95547458683, 95547458684, 95547458687, 95547458715, 95547458733, 95547458734, 95547458738, 95547458748, 95547458790, 95547458807, 95547458808, 95547458848. Local comparison confirms plugin 2.4 uses JavaCC 4.0 and plugin 3.2.0 uses 7.0.13. A modern-templat e workaround breaks Druid’s existing Reader/StringReader parser API; initializing the three locals makes the module compile but fails DruidSqlParserTest.testParse_reservedKeywordIdentifier because the expected reserved-keyword diagnostic changes to an empty unexpected-token diagnostic. Apache Pinot documented the same JavaCC 7.0.13 Calcite parser incompatibility and pinned JavaCC lower: https://www.mail-archive.com/commits%40pinot.apache.org/msg128542.html. Official target material: https://github.com/mojohaus/javacc-maven-plugin/releases/tag/javacc-maven-plugin-3.2.0, https://www.mojohaus.org/javacc-maven-plugin/javacc-mojo.html, https://central.sonatype.com/artifact/net.java.dev.javacc/javacc/7.0.13. The plugin is build-time only, so no Druid runtime dependency, deployment configuration, wire format, persistence format, extension SPI, NOTICE, or licenses.yaml change is needed; however it generates the client-facing SQL parser, so the compile and behavior break block compatibilit y approval. The S* job 95547458739 is separately classified as infrastructure/workload timeout after exactly 60 minutes, and coverage-jacoco 95559428420 plus docker-tests 95559429360 were skipped prerequisites. Closing as high effort/WONT_FIX_LARGE_CHANGE because resolving this requires a parser-generator compatibility migration and broad SQL error/behavior validation; no code was pushed and no rerun was performed. -- 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]
