From 1740273da20568067a1a524dab000c79f8068d3d Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Thu, 11 Jun 2026 12:23:26 +0300 Subject: [PATCH 1/7] impl --- .../internal/managers/communication/UnknownMessageException.java | 0 .../apache/ignite/plugin/extensions/communication/Message.java | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename modules/{core => commons}/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java (100%) rename modules/{core => commons}/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java (100%) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java b/modules/commons/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java similarity index 100% rename from modules/core/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java rename to modules/commons/src/main/java/org/apache/ignite/internal/managers/communication/UnknownMessageException.java diff --git a/modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java b/modules/commons/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java similarity index 100% rename from modules/core/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java rename to modules/commons/src/main/java/org/apache/ignite/plugin/extensions/communication/Message.java From 223131d9004de5552d447e5a7c6be005b42217f6 Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Mon, 15 Jun 2026 12:58:01 +0300 Subject: [PATCH 2/7] raw --- .../java/org/apache/ignite/internal/MessageProcessor.java | 2 +- .../ignite/internal/codegen/MessageProcessorTest.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java index 0a9c0fd58ab8b..7d0e469425df0 100644 --- a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java +++ b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageProcessor.java @@ -64,7 +64,7 @@ * service file and triggered during the compilation phase. */ @SupportedAnnotationTypes("org.apache.ignite.internal.Order") -@SupportedSourceVersion(SourceVersion.RELEASE_11) +@SupportedSourceVersion(SourceVersion.RELEASE_17) public class MessageProcessor extends AbstractProcessor { /** Base interface that every message must implement. */ static final String MESSAGE_INTERFACE = "org.apache.ignite.plugin.extensions.communication.Message"; diff --git a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java index e1e2e38dbbf5c..ad92dcf786662 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java @@ -363,13 +363,13 @@ static Compilation compile(Processor proc, String... srcFiles) { for (String srcFile: srcFiles) input.add(javaFile(srcFile)); + File igniteCommonsJar = jarForClass(CommonUtils.class); + File igniteBinaryApiJar = jarForClass(IgniteUuid.class); File igniteCoreJar = jarForClass(Message.class); File igniteCodegenJar = jarForClass(Order.class); - File igniteBinaryApiJar = jarForClass(IgniteUuid.class); - File igniteCommonsJar = jarForClass(CommonUtils.class); return Compiler.javac() - .withClasspath(F.asList(igniteCoreJar, igniteCodegenJar, igniteBinaryApiJar, igniteCommonsJar)) + .withClasspath(F.asList(igniteCommonsJar, igniteBinaryApiJar, igniteCoreJar, igniteCodegenJar)) .withProcessors(proc) .compile(input); } From 5da7a54529dfbe5d282de5e09731dbcf7a61c0e6 Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Mon, 15 Jun 2026 18:30:48 +0300 Subject: [PATCH 3/7] fix, + master --- .../internal/MessageSerializerGenerator.java | 15 +++++++++++---- .../internal/codegen/MessageProcessorTest.java | 6 +++--- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java index 052db3afcdf62..cb64719c4c6e2 100644 --- a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java +++ b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java @@ -38,6 +38,7 @@ import javax.annotation.processing.ProcessingEnvironment; import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; +import javax.lang.model.element.Name; import javax.lang.model.element.QualifiedNameable; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; @@ -111,8 +112,8 @@ public class MessageSerializerGenerator { /** Stored type of the message being processed. */ private TypeElement type; - /** The marshallable message type. */ - private final TypeMirror marshallableMsgType; + /** {@link Name} for the marshallable message type. */ + private Name marshallableMessageName; /** */ private int indent; @@ -121,7 +122,7 @@ public class MessageSerializerGenerator { MessageSerializerGenerator(ProcessingEnvironment env) { this.env = env; - marshallableMsgType = env.getElementUtils().getTypeElement(MARSHALLABLE_MESSAGE_INTERFACE).asType(); + marshallableMessageName = env.getElementUtils().getName(MARSHALLABLE_MESSAGE_INTERFACE); } /** */ @@ -1059,7 +1060,13 @@ private void writeClassHeader(Writer writer, String pkgName, String serClsName) /** */ private boolean marshallableMessage() { - return env.getTypeUtils().isAssignable(type.asType(), marshallableMsgType); + for (TypeMirror tm : type.getInterfaces()) { + if (tm.getKind() == TypeKind.DECLARED && ((DeclaredType)tm).asElement().getKind() == ElementKind.INTERFACE + && ((QualifiedNameable)((DeclaredType)tm).asElement()).getQualifiedName().equals(marshallableMessageName)) + return true; + } + + return false; } /** */ diff --git a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java index ad92dcf786662..e1e2e38dbbf5c 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java @@ -363,13 +363,13 @@ static Compilation compile(Processor proc, String... srcFiles) { for (String srcFile: srcFiles) input.add(javaFile(srcFile)); - File igniteCommonsJar = jarForClass(CommonUtils.class); - File igniteBinaryApiJar = jarForClass(IgniteUuid.class); File igniteCoreJar = jarForClass(Message.class); File igniteCodegenJar = jarForClass(Order.class); + File igniteBinaryApiJar = jarForClass(IgniteUuid.class); + File igniteCommonsJar = jarForClass(CommonUtils.class); return Compiler.javac() - .withClasspath(F.asList(igniteCommonsJar, igniteBinaryApiJar, igniteCoreJar, igniteCodegenJar)) + .withClasspath(F.asList(igniteCoreJar, igniteCodegenJar, igniteBinaryApiJar, igniteCommonsJar)) .withProcessors(proc) .compile(input); } From efd134fc97e97842d49c0a6cd302d19560e34ff2 Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Mon, 15 Jun 2026 18:42:07 +0300 Subject: [PATCH 4/7] fix, + master --- .../ignite/internal/idto/IgniteDataTransferObjectProcessor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/codegen/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java b/modules/codegen/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java index 5c5b83ff07b41..ae119f63c3ae3 100644 --- a/modules/codegen/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java +++ b/modules/codegen/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java @@ -56,7 +56,7 @@ * insight of using serializers. */ @SupportedAnnotationTypes("org.apache.ignite.internal.management.api.Argument") -@SupportedSourceVersion(SourceVersion.RELEASE_11) +@SupportedSourceVersion(SourceVersion.RELEASE_17) public class IgniteDataTransferObjectProcessor extends AbstractProcessor { /** Package for serializers. */ private static final String FACTORY_PKG_NAME = "org.apache.ignite.internal.codegen.idto"; From d1c985df93008bbba7b2582e7668d2f2fd110f22 Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Tue, 16 Jun 2026 16:09:24 +0300 Subject: [PATCH 5/7] fix --- .../ignite/internal/codegen/MessageProcessorTest.java | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java index e1e2e38dbbf5c..9495d39125ff7 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java @@ -33,12 +33,8 @@ import org.apache.ignite.cache.QueryIndex; import org.apache.ignite.cache.QueryIndexType; import org.apache.ignite.internal.MessageProcessor; -import org.apache.ignite.internal.Order; import org.apache.ignite.internal.cache.query.QueryIndexMessage; import org.apache.ignite.internal.util.CommonUtils; -import org.apache.ignite.internal.util.typedef.F; -import org.apache.ignite.lang.IgniteUuid; -import org.apache.ignite.plugin.extensions.communication.Message; import org.apache.ignite.plugin.extensions.communication.mappers.DefaultEnumMapper; import org.apache.ignite.transactions.TransactionIsolation; import org.junit.Test; @@ -363,13 +359,7 @@ static Compilation compile(Processor proc, String... srcFiles) { for (String srcFile: srcFiles) input.add(javaFile(srcFile)); - File igniteCoreJar = jarForClass(Message.class); - File igniteCodegenJar = jarForClass(Order.class); - File igniteBinaryApiJar = jarForClass(IgniteUuid.class); - File igniteCommonsJar = jarForClass(CommonUtils.class); - return Compiler.javac() - .withClasspath(F.asList(igniteCoreJar, igniteCodegenJar, igniteBinaryApiJar, igniteCommonsJar)) .withProcessors(proc) .compile(input); } From ee3b81852e2e6f0c382bf04d7dff54a1a0c4ff2a Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Tue, 16 Jun 2026 16:56:12 +0300 Subject: [PATCH 6/7] fix --- .../internal/MessageSerializerGenerator.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java index cb64719c4c6e2..052db3afcdf62 100644 --- a/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java +++ b/modules/codegen/src/main/java/org/apache/ignite/internal/MessageSerializerGenerator.java @@ -38,7 +38,6 @@ import javax.annotation.processing.ProcessingEnvironment; import javax.lang.model.element.Element; import javax.lang.model.element.ElementKind; -import javax.lang.model.element.Name; import javax.lang.model.element.QualifiedNameable; import javax.lang.model.element.TypeElement; import javax.lang.model.element.VariableElement; @@ -112,8 +111,8 @@ public class MessageSerializerGenerator { /** Stored type of the message being processed. */ private TypeElement type; - /** {@link Name} for the marshallable message type. */ - private Name marshallableMessageName; + /** The marshallable message type. */ + private final TypeMirror marshallableMsgType; /** */ private int indent; @@ -122,7 +121,7 @@ public class MessageSerializerGenerator { MessageSerializerGenerator(ProcessingEnvironment env) { this.env = env; - marshallableMessageName = env.getElementUtils().getName(MARSHALLABLE_MESSAGE_INTERFACE); + marshallableMsgType = env.getElementUtils().getTypeElement(MARSHALLABLE_MESSAGE_INTERFACE).asType(); } /** */ @@ -1060,13 +1059,7 @@ private void writeClassHeader(Writer writer, String pkgName, String serClsName) /** */ private boolean marshallableMessage() { - for (TypeMirror tm : type.getInterfaces()) { - if (tm.getKind() == TypeKind.DECLARED && ((DeclaredType)tm).asElement().getKind() == ElementKind.INTERFACE - && ((QualifiedNameable)((DeclaredType)tm).asElement()).getQualifiedName().equals(marshallableMessageName)) - return true; - } - - return false; + return env.getTypeUtils().isAssignable(type.asType(), marshallableMsgType); } /** */ From 015c97d2ec0f3d0af7c6cb96b45b6e92b543d740 Mon Sep 17 00:00:00 2001 From: Vladimir Steshin Date: Wed, 17 Jun 2026 15:44:13 +0300 Subject: [PATCH 7/7] fix --- .../internal/codegen/MessageProcessorTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java index 9495d39125ff7..bc68a55458ff0 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/codegen/MessageProcessorTest.java @@ -25,16 +25,21 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.Set; import javax.annotation.processing.Processor; import javax.tools.JavaFileObject; import com.google.testing.compile.Compilation; import com.google.testing.compile.Compiler; import com.google.testing.compile.JavaFileObjects; +import org.apache.ignite.Ignite; import org.apache.ignite.cache.QueryIndex; import org.apache.ignite.cache.QueryIndexType; import org.apache.ignite.internal.MessageProcessor; +import org.apache.ignite.internal.Order; import org.apache.ignite.internal.cache.query.QueryIndexMessage; import org.apache.ignite.internal.util.CommonUtils; +import org.apache.ignite.internal.util.typedef.F; +import org.apache.ignite.lang.IgniteUuid; import org.apache.ignite.plugin.extensions.communication.mappers.DefaultEnumMapper; import org.apache.ignite.transactions.TransactionIsolation; import org.junit.Test; @@ -359,7 +364,19 @@ static Compilation compile(Processor proc, String... srcFiles) { for (String srcFile: srcFiles) input.add(javaFile(srcFile)); + File igniteCoreJar = jarForClass(Ignite.class); + File igniteCodegenJar = jarForClass(Order.class); + File igniteBinaryApiJar = jarForClass(IgniteUuid.class); + File igniteCommonsJar = jarForClass(CommonUtils.class); + + // Actually can throw 'duplicate element'. But this would mean the same. + assertTrue( + "Some classpath locations became the same. A required classpath might be lost.", + Set.of(igniteCoreJar, igniteCodegenJar, igniteBinaryApiJar, igniteCommonsJar).size() == 4 + ); + return Compiler.javac() + .withClasspath(F.asList(igniteCoreJar, igniteCodegenJar, igniteBinaryApiJar, igniteCommonsJar)) .withProcessors(proc) .compile(input); }