This is an automated email from the ASF dual-hosted git repository.

nizhikov 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 3bb23e84009 IGNITE-27740 Generate serdes code for ContentionJobResult 
(#12692)
3bb23e84009 is described below

commit 3bb23e84009a8dc3e1a021f28686caefee455b94
Author: Nikolay <[email protected]>
AuthorDate: Wed Feb 4 16:58:35 2026 +0300

    IGNITE-27740 Generate serdes code for ContentionJobResult (#12692)
---
 .../internal/idto/IDTOSerializerGenerator.java     |  1 +
 .../idto/IgniteDataTransferObjectProcessor.java    |  1 -
 .../management/cache/CacheContentionCommand.java   |  4 +-
 .../management/cache/ContentionClosure.java        | 14 ++---
 .../internal/management/cache/ContentionInfo.java  | 72 ----------------------
 .../management/cache/ContentionJobResult.java      | 47 +++++---------
 .../internal/management/cache/ContentionTask.java  |  4 +-
 .../management/cache/ContentionTaskResult.java     |  8 ---
 8 files changed, 27 insertions(+), 124 deletions(-)

diff --git 
a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java
 
b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java
index 92c622b5332..acb75e9902a 100644
--- 
a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java
+++ 
b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IDTOSerializerGenerator.java
@@ -118,6 +118,7 @@ public class IDTOSerializerGenerator {
         TYPE_SERDES.put("org.apache.ignite.internal.binary.BinaryMetadata", 
OBJECT_SERDES);
         
TYPE_SERDES.put("org.apache.ignite.internal.management.cache.PartitionKey", 
OBJECT_SERDES);
         
TYPE_SERDES.put("org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion",
 OBJECT_SERDES);
+        TYPE_SERDES.put("org.apache.ignite.cluster.ClusterNode", 
OBJECT_SERDES);
         TYPE_SERDES.put("org.apache.ignite.cache.CacheMode",
             F.t("out.writeByte(CacheMode.toCode(obj.${f}));", 
"CacheMode.fromCode(in.readByte())"));
 
diff --git 
a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java
 
b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java
index e18a2e048df..1061a5d35b5 100644
--- 
a/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java
+++ 
b/modules/codegen2/src/main/java/org/apache/ignite/internal/idto/IgniteDataTransferObjectProcessor.java
@@ -74,7 +74,6 @@ public class IgniteDataTransferObjectProcessor extends 
AbstractProcessor {
     private static final Set<String> UNSUPPORTED = Set.of(
         "org.apache.ignite.internal.processors.cache.CacheMetricsSnapshot",
         
"org.apache.ignite.internal.commandline.cache.check_indexes_inline_size.CheckIndexInlineSizesResult",
-        "org.apache.ignite.internal.management.cache.ContentionJobResult",
         
"org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageHistoryItem"
     );
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommand.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommand.java
index 19840f517be..3ddf09d52df 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommand.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheContentionCommand.java
@@ -49,7 +49,7 @@ public class CacheContentionCommand implements 
ComputeCommand<CacheContentionCom
     @Override public void printResult(CacheContentionCommandArg arg, 
ContentionTaskResult res, Consumer<String> printer) {
         CommandUtils.printErrors(res.exceptions(), "Contention check failed on 
nodes:", printer);
 
-        for (ContentionInfo info : res.getInfos())
-            info.print();
+        for (ContentionJobResult info : res.jobResults())
+            info.print(printer);
     }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionClosure.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionClosure.java
index e5453331d15..edb587e87ca 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionClosure.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionClosure.java
@@ -36,7 +36,7 @@ import org.apache.ignite.resources.IgniteInstanceResource;
 
 /**
  */
-public class ContentionClosure implements IgniteCallable<ContentionInfo> {
+public class ContentionClosure implements IgniteCallable<ContentionJobResult> {
     /** Serial version uid. */
     private static final long serialVersionUID = 0L;
 
@@ -60,18 +60,18 @@ public class ContentionClosure implements 
IgniteCallable<ContentionInfo> {
     }
 
     /** {@inheritDoc} */
-    @Override public ContentionInfo call() throws Exception {
+    @Override public ContentionJobResult call() throws Exception {
         final IgniteTxManager tm = ignite.context().cache().context().tm();
 
         final Collection<IgniteInternalTx> activeTxs = tm.activeTransactions();
 
-        ContentionInfo ci = new ContentionInfo();
+        ContentionJobResult ci = new ContentionJobResult();
 
-        ci.setNode(ignite.localNode());
-        ci.setEntries(new ArrayList<>());
+        ci.node = ignite.localNode();
+        ci.entries = new ArrayList<>();
 
         for (IgniteInternalTx tx : activeTxs) {
-            if (ci.getEntries().size() == maxPrint)
+            if (ci.entries.size() == maxPrint)
                 break;
 
             // Show only primary txs.
@@ -152,7 +152,7 @@ public class ContentionClosure implements 
IgniteCallable<ContentionInfo> {
 
                     b.append("]]");
 
-                    ci.getEntries().add(b.toString());
+                    ci.entries.add(b.toString());
                 }
             }
         }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionInfo.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionInfo.java
deleted file mode 100644
index 533fb360359..00000000000
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionInfo.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.internal.management.cache;
-
-import java.io.Serializable;
-import java.util.List;
-import org.apache.ignite.cluster.ClusterNode;
-
-/**
- */
-public class ContentionInfo implements Serializable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
-    /** */
-    private ClusterNode node;
-
-    /** */
-    private List<String> entries;
-
-    /**
-     * @return Node.
-     */
-    public ClusterNode getNode() {
-        return node;
-    }
-
-    /**
-     * @param node Node.
-     */
-    public void setNode(ClusterNode node) {
-        this.node = node;
-    }
-
-    /**
-     * @return Entries.
-     */
-    public List<String> getEntries() {
-        return entries;
-    }
-
-    /**
-     * @param entries Entries.
-     */
-    public void setEntries(List<String> entries) {
-        this.entries = entries;
-    }
-
-    /** */
-    public void print() {
-        System.out.println("[node=" + node + ']');
-
-        for (String entry : entries)
-            System.out.println("    " + entry);
-    }
-}
-
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionJobResult.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionJobResult.java
index 26e16f176dc..b7a51716d0e 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionJobResult.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionJobResult.java
@@ -17,14 +17,11 @@
 
 package org.apache.ignite.internal.management.cache;
 
-import java.io.IOException;
-import java.io.ObjectInput;
-import java.io.ObjectOutput;
 import java.util.List;
+import java.util.function.Consumer;
 import org.apache.ignite.cluster.ClusterNode;
 import org.apache.ignite.internal.dto.IgniteDataTransferObject;
 import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
 
 /**
  *
@@ -33,14 +30,16 @@ public class ContentionJobResult extends 
IgniteDataTransferObject {
     /** */
     private static final long serialVersionUID = 0L;
 
-    /** Info. */
-    private ContentionInfo info;
+    /** */
+    ClusterNode node;
 
-    /**
-     * @param info Info.
-     */
-    public ContentionJobResult(ContentionInfo info) {
-        this.info = info;
+    /** */
+    List<String> entries;
+
+    /** */
+    public ContentionJobResult(ClusterNode node, List<String> entries) {
+        this.node = node;
+        this.entries = entries;
     }
 
     /**
@@ -49,27 +48,12 @@ public class ContentionJobResult extends 
IgniteDataTransferObject {
     public ContentionJobResult() {
     }
 
-    /**
-     * @return Contention info.
-     */
-    public ContentionInfo info() {
-        return info;
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void writeExternalData(ObjectOutput out) throws 
IOException {
-        out.writeObject(info.getNode());
-        U.writeCollection(out, info.getEntries());
-    }
-
-    /** {@inheritDoc} */
-    @Override protected void readExternalData(ObjectInput in) throws 
IOException, ClassNotFoundException {
-        Object node = in.readObject();
-        List<String> entries = U.readList(in);
+    /** */
+    public void print(Consumer<String> printer) {
+        printer.accept("[node=" + node + ']');
 
-        info = new ContentionInfo();
-        info.setNode((ClusterNode)node);
-        info.setEntries(entries);
+        for (String entry : entries)
+            printer.accept("    " + entry);
     }
 
     /** {@inheritDoc} */
@@ -77,3 +61,4 @@ public class ContentionJobResult extends 
IgniteDataTransferObject {
         return S.toString(ContentionJobResult.class, this);
     }
 }
+
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTask.java
index d878f0de1f6..f0fc6bc4c8b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTask.java
@@ -81,9 +81,7 @@ public class ContentionTask extends 
VisorMultiNodeTask<CacheContentionCommandArg
 
                 ignite.context().resource().injectGeneric(clo);
 
-                ContentionInfo info = clo.call();
-
-                return new ContentionJobResult(info);
+                return clo.call();
             }
             catch (Exception e) {
                 throw new IgniteException(e);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTaskResult.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTaskResult.java
index d7aa6b79c58..c869c92be65 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTaskResult.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/ContentionTaskResult.java
@@ -21,7 +21,6 @@ import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.UUID;
-import java.util.stream.Collectors;
 import org.apache.ignite.internal.dto.IgniteDataTransferObject;
 import org.apache.ignite.internal.util.typedef.internal.S;
 
@@ -61,13 +60,6 @@ public class ContentionTaskResult extends 
IgniteDataTransferObject {
         return clusterInfos;
     }
 
-    /**
-     * @return Collection of {@link ContentionInfo} collected during task 
execution.
-     */
-    public Collection<ContentionInfo> getInfos() {
-        return 
clusterInfos.stream().map(ContentionJobResult::info).collect(Collectors.toList());
-    }
-
     /**
      * @return Exceptions.
      */

Reply via email to