Anton Vinogradov created IGNITE-28842:
-----------------------------------------
Summary: Restore parallel codestyle build (-T 1C) and report
compilation failures clearly
Key: IGNITE-28842
URL: https://issues.apache.org/jira/browse/IGNITE-28842
Project: Ignite
Issue Type: Task
Reporter: Anton Vinogradov
Assignee: Anton Vinogradov
h3. Background
The "Check java code" codestyle job intermittently looked broken with ~288
\{{cannot find symbol}} errors for annotation-processor-generated classes
(\{{*ViewWalker}}, \{{*MessageSerializer}}, \{{IDTOSerializerFactory}}). Root
cause: a single *real* compile error in a stale PR branch (e.g. a removed
method still referenced after a clean text merge). javac drops all
annotation-processor output when a compilation round has errors, so one real
error cascades into hundreds of generated-class "cannot find symbol" errors
that bury it.
IGNITE-28840 and IGNITE-28841 chased this as a build-infra/parallelism problem;
both were misdiagnoses. IGNITE-28841 in particular dropped the \{{-T 1C}}
parallel build added by IGNITE-28823. \{{-T 1C}} was never the cause (the
failure reproduces single-threaded).
h3. Change
1. Restore \{{-T 1C}} on the codestyle / \{{test-compile}} step (re-applies the
IGNITE-28823 speed-up).
2. On compilation failure, make the job state it plainly and surface the real
error: a GitHub \{{::error::}} annotation ("compilation failed, not a
checkstyle violation"), plus a collapsible group listing likely root-cause
errors with the generated-class cascade
(\{{*Walker}}/\{{*Serializer}}/\{{*Factory}}, \{{internal.systemview}},
\{{codegen.idto}}) filtered out. Checkstyle-only failures are unaffected.
h3. Verification
Filtering validated against a real failing build log (PR #13298 merge): from
288 errors it surfaces exactly the real one — \{{IgniteTxManager:[148,1] cannot
find symbol: static deriveSyncMode}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)