FrankChen021 opened a new issue, #20465: URL: https://github.com/apache/druid/issues/20465
_This issue was generated automatically by Claude Code (Anthropic's AI coding agent) running a scheduled CI-triage routine on behalf of @FrankChen021. Analysis and suggested fixes are AI-produced; please verify before acting on them._ **Status:** Open: no fix PR **Subject:** `apache-rat-plugin:0.18:check` during `.github/scripts/packaging-check.sh` (Static Checks CI, `packaging-check (25) / packaging-check-jdk25`) **Failures:** 3 · **First seen:** 2026-09-06 · **Last seen:** 2026-09-30 ### Root cause Since #20000 bumped `apache-rat-plugin` from 0.15 to 0.18, the RAT check in `packaging-check.sh` (`mvn clean install -Prat ... -T1C`) fails on a random module in roughly one master run a week. The failures differ each time: an NPE inside RAT's exclusion builder (`LevelBuilder.asMatcherSet()` on `druid-consul-extensions`), an NPE on `File.getParentFile()` (`druid-deltalake-extensions`), and on 2026-09-30 the `**/target/**` exclude being ignored, so 36 generated files under `extensions-contrib/cassandra-storage/target/` were counted as UNAPPROVED. This points to RAT 0.18's exclusion/config state not being safe when several modules run `rat:check` concurrently in Maven's parallel build. The failing commits touched only website deps, a dependency bump, and embedded tests, and neighbouring master runs passed this job. ### Suggested fix Run the RAT check once, single-threaded, instead of per module inside the `-T1C` build (for example drop `-Prat` from the parallel `install` and add a separate `mvn -B -Prat apache-rat:check` step without `-T`), or pin the plugin back to 0.16 until upstream fixes it. Moving the deprecated `<exclude>` entries to `<inputExclude>` is worth doing at the same time. ### Occurrences Failed push-triggered master jobs only. The daily triage routine adds one row per new failed job. | Date | Commit | Job | Failure log | Detail | Reported in | |---|---|---|---|---|---| | 2026-09-06 | df720affe3 (#20261) | `packaging-check (25) / packaging-check-jdk25` | [job 101409110979](https://github.com/apache/druid/actions/runs/34004486842/job/101409110979) | `rat:check` NPE (`File.getParentFile()`, `file` is null) on `druid-deltalake-extensions` | | | 2026-09-10 | 621cff3622 (#20303) | `packaging-check (25) / packaging-check-jdk25` | [job 102711957899](https://github.com/apache/druid/actions/runs/34426235774/job/102711957899) | `rat:check` NPE in `LevelBuilder.asMatcherSet()` on `druid-consul-extensions` | | | 2026-09-30 | afa5b4e744 (#20320) | `packaging-check (25) / packaging-check-jdk25` | [job 109781722092](https://github.com/apache/druid/actions/runs/36682779402/job/109781722092) | UNAPPROVED count 36 on `druid-cassandra-storage`: all files under `target/`, despite the `**/target/**` exclude | | -- 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]
