You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by na...@apache.org on 2025/02/21 10:31:06 UTC

(ignite) branch master updated: IGNITE-24568 Fixed an assertion error on the cluster state command (#11889)

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

namelchev 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 a033e215278 IGNITE-24568 Fixed an assertion error on the cluster state command (#11889)
a033e215278 is described below

commit a033e215278add6109192c7ed15e1525adafd667
Author: Nikita Amelchev <ns...@gmail.com>
AuthorDate: Fri Feb 21 13:30:57 2025 +0300

    IGNITE-24568 Fixed an assertion error on the cluster state command (#11889)
---
 .../java/org/apache/ignite/util/GridCommandHandlerTest.java   |  4 +++-
 .../org/apache/ignite/internal/management/StateCommand.java   |  4 ++--
 .../management/cache/CacheConfigurationCollectorTask.java     |  6 +++---
 .../org/apache/ignite/internal/visor/VisorOneNodeTask.java    | 11 +++++++++++
 4 files changed, 19 insertions(+), 6 deletions(-)

diff --git a/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java b/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
index c9fd80c9cc4..48172e9f57c 100644
--- a/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
+++ b/modules/control-utility/src/test/java/org/apache/ignite/util/GridCommandHandlerTest.java
@@ -1108,7 +1108,9 @@ public class GridCommandHandlerTest extends GridCommandHandlerClusterPerMethodAb
     public void testState() throws Exception {
         final String newTag = "new_tag";
 
-        Ignite ignite = startGrids(1);
+        Ignite ignite = startGrids(2);
+        
+        startClientGrid("client");
 
         assertFalse(ignite.cluster().state().active());
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java b/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java
index 2c7d5875a27..45c3b8fe70a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/management/StateCommand.java
@@ -31,7 +31,7 @@ import org.apache.ignite.internal.visor.misc.VisorIdAndTagViewTask;
 import org.apache.ignite.internal.visor.misc.VisorIdAndTagViewTaskResult;
 import org.jetbrains.annotations.Nullable;
 
-import static org.apache.ignite.internal.management.api.CommandUtils.nodes;
+import static java.util.Collections.singleton;
 import static org.apache.ignite.internal.util.typedef.internal.U.DELIM;
 
 /** */
@@ -59,7 +59,7 @@ public class StateCommand implements LocalCommand<NoArg, GridTuple3<UUID, String
 
         if (client != null) {
             VisorIdAndTagViewTaskResult idAndTag = CommandUtils.execute(client, null,
-                VisorIdAndTagViewTask.class, null, nodes(client, ignite));
+                VisorIdAndTagViewTask.class, null, singleton(client.cluster().forServers().node()));
 
             state = client.cluster().state();
             id = idAndTag.id();
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheConfigurationCollectorTask.java b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheConfigurationCollectorTask.java
index 19e299faebd..f5dac465052 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheConfigurationCollectorTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/management/cache/CacheConfigurationCollectorTask.java
@@ -24,15 +24,15 @@ import java.util.Map;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.compute.ComputeJobResult;
 import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.internal.visor.VisorOneNodeTask;
+import org.apache.ignite.internal.visor.VisorMultiNodeTask;
 import org.jetbrains.annotations.Nullable;
 
 /**
  * Task that collect cache metrics from all nodes.
  */
 @GridInternal
-public class CacheConfigurationCollectorTask
-    extends VisorOneNodeTask<CacheConfigurationCollectorTaskArg, Map<String, CacheConfiguration>> {
+public class CacheConfigurationCollectorTask extends VisorMultiNodeTask<CacheConfigurationCollectorTaskArg,
+    Map<String, CacheConfiguration>, Map<String, CacheConfiguration>> {
     /** */
     private static final long serialVersionUID = 0L;
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorOneNodeTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorOneNodeTask.java
index e9928750564..505e615654d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorOneNodeTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorOneNodeTask.java
@@ -17,7 +17,9 @@
 
 package org.apache.ignite.internal.visor;
 
+import java.util.Collection;
 import java.util.List;
+import java.util.UUID;
 import org.apache.ignite.compute.ComputeJobResult;
 import org.jetbrains.annotations.Nullable;
 
@@ -25,6 +27,15 @@ import org.jetbrains.annotations.Nullable;
  * Base class for Visor tasks intended to query data from a single node.
  */
 public abstract class VisorOneNodeTask<A, R> extends VisorMultiNodeTask<A, R, R> {
+    /** {@inheritDoc} */
+    @Override protected Collection<UUID> jobNodes(VisorTaskArgument<A> arg) {
+        Collection<UUID> nodes = super.jobNodes(arg);
+
+        assert nodes.size() == 1 : nodes;
+
+        return nodes;
+    }
+
     /** {@inheritDoc} */
     @Nullable @Override protected R reduce0(List<ComputeJobResult> results) {
         assert results.size() == 1;