This is an automated email from the ASF dual-hosted git repository.
anton-vinogradov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push:
new b3c6dd31ce9 IGNITE-28841 Drop parallel build (-T 1C) from the
codestyle check (#13300)
b3c6dd31ce9 is described below
commit b3c6dd31ce9818af1c31b4b1a0cdc97c098bc462
Author: Anton Vinogradov <[email protected]>
AuthorDate: Tue Jun 30 13:33:33 2026 +0300
IGNITE-28841 Drop parallel build (-T 1C) from the codestyle check (#13300)
## [IGNITE-28841](https://issues.apache.org/jira/browse/IGNITE-28841)
### Problem
[IGNITE-28840](https://github.com/apache/ignite/pull/13299) tried to fix
the intermittent codestyle `test-compile` failure by adding
`-Dmaven.compiler.useIncrementalCompilation=false`, but the job still
fails the same way:
```
[ERROR] IgniteKernal.java:[176,45] cannot find symbol
symbol: class ConfigurationViewWalker
location: package org.apache.ignite.internal.systemview
[ERROR] IgniteDataTransferObject.java:[27,47] package
org.apache.ignite.internal.codegen.idto does not exist
```
Example with the IGNITE-28840 flag already in place: [run
28435576909](https://github.com/apache/ignite/actions/runs/28435576909/job/84260595716).
### Root cause
The trigger is `-T 1C` (introduced in
[IGNITE-28823](https://github.com/apache/ignite/pull/13281)), not
incremental compilation.
`maven-compiler-plugin` runs the compiler **in-process** (`fork` is not
enabled), so javac executes inside the Maven JVM. The `ignite-core`
annotation processors — `MessageProcessor`,
`SystemViewRowAttributeWalkerProcessor`,
`IgniteDataTransferObjectProcessor` — reach into `com.sun.tools.javac`
internals (which is why `MAVEN_OPTS` and the surefire `argLine` open
`jdk.compiler/com.sun.tools.javac.*`).
Under `-T 1C` several reactor modules compile concurrently in that
single JVM. The shared in-process javac / `com.sun.tools.javac`
machinery is not thread-safe, so generation of the Walker / Factory
sources for `ignite-core` is intermittently dropped while the files
referencing them are compiled — hence `cannot find symbol`.
Single-threaded there is no concurrent compilation and the issue does
not occur.
Forking the compiler is not viable here: a forked javac would not
inherit the `--add-opens=jdk.compiler/...` that `MAVEN_OPTS` grants the
in-process compiler, breaking the processors outright.
### Change
Run the codestyle / `test-compile` step single-threaded again (drop `-T
1C`) and remove the ineffective
`-Dmaven.compiler.useIncrementalCompilation=false` from this step. The
primary IGNITE-28823 improvement — avoiding the second full reactor
recompile on the *abandoned tests* step — is untouched.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 <[email protected]>
---
.github/workflows/commit-check.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/commit-check.yml
b/.github/workflows/commit-check.yml
index b0689cf8f21..62eff119b57 100644
--- a/.github/workflows/commit-check.yml
+++ b/.github/workflows/commit-check.yml
@@ -97,7 +97,7 @@ jobs:
- name: Run codestyle and licenses checks
run: |
- ./mvnw test-compile
-Pall-java,licenses,lgpl,checkstyle,examples,check-licenses -B -V -T 1C
-Dmaven.compiler.useIncrementalCompilation=false
+ ./mvnw test-compile
-Pall-java,licenses,lgpl,checkstyle,examples,check-licenses -B -V
- name: Run abandoned tests checks.
# Reuse classes from the previous step; the differing profiles
otherwise trigger a full reactor recompile.