This is an automated email from the ASF dual-hosted git repository.
shishkovilja 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 b75b2aebd07 IGNITE-28616 Remove duplicated --rolling-upgrade commands
from control.sh (#13122)
b75b2aebd07 is described below
commit b75b2aebd0736d06083eb4f9aeed3021326b5dca
Author: Aleksandr Chesnokov <[email protected]>
AuthorDate: Mon May 25 10:24:16 2026 +0300
IGNITE-28616 Remove duplicated --rolling-upgrade commands from control.sh
(#13122)
---
.../commandline/CommandHandlerParsingTest.java | 5 -
.../SecurityCommandHandlerPermissionsTest.java | 37 ---
.../testsuites/IgniteControlUtilityTestSuite2.java | 2 -
.../ignite/util/RollingUpgradeCommandTest.java | 298 ---------------------
.../internal/management/IgniteCommandRegistry.java | 2 -
.../rollingupgrade/RollingUpgradeCommand.java | 32 ---
.../RollingUpgradeDisableCommand.java | 67 -----
.../rollingupgrade/RollingUpgradeDisableTask.java | 84 ------
.../RollingUpgradeEnableCommand.java | 74 -----
.../RollingUpgradeEnableCommandArg.java | 62 -----
.../rollingupgrade/RollingUpgradeEnableTask.java | 87 ------
.../RollingUpgradeStatusCommand.java | 87 ------
.../rollingupgrade/RollingUpgradeStatusNode.java | 102 -------
.../rollingupgrade/RollingUpgradeStatusTask.java | 72 -----
.../rollingupgrade/RollingUpgradeTaskResult.java | 114 --------
...ridCommandHandlerClusterByClassTest_help.output | 16 --
...andHandlerClusterByClassWithSSLTest_help.output | 16 --
17 files changed, 1157 deletions(-)
diff --git
a/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
b/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
index a238e5862a9..4976c53d377 100644
---
a/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
+++
b/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/CommandHandlerParsingTest.java
@@ -77,8 +77,6 @@ import
org.apache.ignite.internal.management.meta.MetaUpdateCommand;
import org.apache.ignite.internal.management.metric.MetricCommand;
import
org.apache.ignite.internal.management.performancestatistics.PerformanceStatisticsCommand;
import org.apache.ignite.internal.management.property.PropertyCommand;
-import
org.apache.ignite.internal.management.rollingupgrade.RollingUpgradeCommand;
-import
org.apache.ignite.internal.management.rollingupgrade.RollingUpgradeEnableCommand;
import org.apache.ignite.internal.management.snapshot.SnapshotCommand;
import org.apache.ignite.internal.management.snapshot.SnapshotRestoreCommand;
import org.apache.ignite.internal.management.tx.TxCommand;
@@ -519,8 +517,6 @@ public class CommandHandlerParsingTest {
cmdText = F.concat(cmdText, "masterKeyName1");
else if (cmd.getClass() == EncryptionChangeCacheKeyCommand.class)
cmdText = F.concat(cmdText, "cacheGroup1");
- else if (cmd.getClass() == RollingUpgradeEnableCommand.class)
- cmdText = F.concat(cmdText, "2.18.0");
else if (cmd.getClass() == SnapshotRestoreCommand.class)
cmdText = F.concat(cmdText, "snp1");
else if (cmd.getClass() == MetaUpdateCommand.class)
@@ -1396,7 +1392,6 @@ public class CommandHandlerParsingTest {
cmd == MetaCommand.class ||
cmd == WarmUpCommand.class ||
cmd == PropertyCommand.class ||
- cmd == RollingUpgradeCommand.class ||
cmd == SystemViewCommand.class ||
cmd == MetricCommand.class ||
cmd == DefragmentationCommand.class ||
diff --git
a/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/SecurityCommandHandlerPermissionsTest.java
b/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/SecurityCommandHandlerPermissionsTest.java
index d10e6635a84..902bc9797d7 100644
---
a/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/SecurityCommandHandlerPermissionsTest.java
+++
b/modules/control-utility/src/test/java/org/apache/ignite/internal/commandline/SecurityCommandHandlerPermissionsTest.java
@@ -46,7 +46,6 @@ import
org.apache.ignite.internal.processors.security.impl.TestSecurityPluginPro
import org.apache.ignite.internal.util.typedef.F;
import org.apache.ignite.internal.util.typedef.X;
import org.apache.ignite.lang.IgniteFutureCancelledException;
-import org.apache.ignite.lang.IgniteProductVersion;
import org.apache.ignite.plugin.security.SecurityPermission;
import org.apache.ignite.plugin.security.SecurityPermissionSet;
import org.apache.ignite.plugin.security.SecurityPermissionSetBuilder;
@@ -61,7 +60,6 @@ import org.junit.runners.Parameterized;
import static java.util.Arrays.asList;
import static java.util.concurrent.TimeUnit.MILLISECONDS;
-import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_BUILD_VER;
import static
org.apache.ignite.internal.commandline.ArgumentParser.CMD_PASSWORD;
import static org.apache.ignite.internal.commandline.ArgumentParser.CMD_USER;
import static
org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_OK;
@@ -69,7 +67,6 @@ import static
org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_UN
import static
org.apache.ignite.internal.processors.job.GridJobProcessor.JOBS_VIEW;
import static
org.apache.ignite.internal.processors.task.GridTaskProcessor.TASKS_VIEW;
import static org.apache.ignite.internal.util.IgniteUtils.resolveIgnitePath;
-import static
org.apache.ignite.plugin.security.SecurityPermission.ADMIN_ROLLING_UPGRADE;
import static
org.apache.ignite.plugin.security.SecurityPermission.CACHE_CREATE;
import static
org.apache.ignite.plugin.security.SecurityPermission.CACHE_DESTROY;
import static org.apache.ignite.plugin.security.SecurityPermission.CACHE_READ;
@@ -166,40 +163,6 @@ public class SecurityCommandHandlerPermissionsTest extends
GridCommandHandlerAbs
);
}
- /** */
- @Test
- public void testRollingUpgrade() throws Exception {
- IgniteEx ign = startGrid(
- 0,
- userData(TEST_NO_PERMISSIONS_LOGIN, NO_PERMISSIONS),
- userData(TEST_LOGIN, systemPermissions(ADMIN_ROLLING_UPGRADE))
- );
-
- IgniteProductVersion curVer =
IgniteProductVersion.fromString(ign.localNode().attribute(ATTR_BUILD_VER));
- String targetVerStr = curVer.major() + "." + (curVer.minor() + 1) +
".0";
-
- List<String> cmdArgs = asList("--rolling-upgrade", "enable",
targetVerStr);
-
- assertEquals(EXIT_CODE_UNEXPECTED_ERROR, executeOnBehalf(cmdArgs,
TEST_NO_PERMISSIONS_LOGIN));
-
- assertFalse(ign.context().rollingUpgrade().enabled());
-
- assertEquals(EXIT_CODE_OK, executeOnBehalf(cmdArgs, TEST_LOGIN));
-
- assertTrue(ign.context().rollingUpgrade().enabled());
- assertEquals(IgniteProductVersion.fromString(targetVerStr),
ign.context().rollingUpgrade().versions().get2());
-
- cmdArgs = asList("--rolling-upgrade", "disable");
-
- assertEquals(EXIT_CODE_UNEXPECTED_ERROR, executeOnBehalf(cmdArgs,
TEST_NO_PERMISSIONS_LOGIN));
-
- assertTrue(ign.context().rollingUpgrade().enabled());
-
- assertEquals(EXIT_CODE_OK, executeOnBehalf(cmdArgs, TEST_LOGIN));
-
- assertFalse(ign.context().rollingUpgrade().enabled());
- }
-
/** */
@Test
public void testServiceCancel() throws Exception {
diff --git
a/modules/control-utility/src/test/java/org/apache/ignite/testsuites/IgniteControlUtilityTestSuite2.java
b/modules/control-utility/src/test/java/org/apache/ignite/testsuites/IgniteControlUtilityTestSuite2.java
index c0adb33e5b2..eae0f1e86dc 100644
---
a/modules/control-utility/src/test/java/org/apache/ignite/testsuites/IgniteControlUtilityTestSuite2.java
+++
b/modules/control-utility/src/test/java/org/apache/ignite/testsuites/IgniteControlUtilityTestSuite2.java
@@ -36,7 +36,6 @@ import
org.apache.ignite.util.GridCommandHandlerTracingConfigurationTest;
import org.apache.ignite.util.IdleVerifyDumpTest;
import org.apache.ignite.util.MetricCommandTest;
import org.apache.ignite.util.PerformanceStatisticsCommandTest;
-import org.apache.ignite.util.RollingUpgradeCommandTest;
import org.apache.ignite.util.SystemViewCommandTest;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@@ -63,7 +62,6 @@ import org.junit.runners.Suite;
GridCommandHandlerEventTest.class,
- RollingUpgradeCommandTest.class,
SystemViewCommandTest.class,
MetricCommandTest.class,
PerformanceStatisticsCommandTest.class,
diff --git
a/modules/control-utility/src/test/java/org/apache/ignite/util/RollingUpgradeCommandTest.java
b/modules/control-utility/src/test/java/org/apache/ignite/util/RollingUpgradeCommandTest.java
deleted file mode 100644
index 4d7b52dc7b9..00000000000
---
a/modules/control-utility/src/test/java/org/apache/ignite/util/RollingUpgradeCommandTest.java
+++ /dev/null
@@ -1,298 +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.util;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Consumer;
-import org.apache.ignite.configuration.IgniteConfiguration;
-import org.apache.ignite.internal.IgniteEx;
-import
org.apache.ignite.internal.management.rollingupgrade.RollingUpgradeCommand;
-import
org.apache.ignite.internal.management.rollingupgrade.RollingUpgradeStatusCommand;
-import
org.apache.ignite.internal.management.rollingupgrade.RollingUpgradeStatusNode;
-import
org.apache.ignite.internal.management.rollingupgrade.RollingUpgradeTaskResult;
-import org.apache.ignite.lang.IgniteProductVersion;
-import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
-import org.junit.Test;
-
-import static java.util.stream.Collectors.toList;
-import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_BUILD_VER;
-import static
org.apache.ignite.internal.commandline.CommandHandler.EXIT_CODE_OK;
-
-/** Tests {@link RollingUpgradeCommand} command. */
-public class RollingUpgradeCommandTest extends
GridCommandHandlerClusterByClassAbstractTest {
- /** */
- public static final String ENABLE = "enable";
-
- /** */
- public static final String DISABLE = "disable";
-
- /** */
- public static final String FORCE = "--force";
-
- /** */
- public static final String ROLLING_UPGRADE = "--rolling-upgrade";
-
- /** */
- public static final String STATUS = "status";
-
- /** {@inheritDoc} */
- @Override protected void beforeTestsStarted() throws Exception {
- super.beforeTestsStarted();
-
- autoConfirmation = true;
- }
-
- /** {@inheritDoc} */
- @Override protected void afterTest() throws Exception {
- super.afterTest();
-
- if (crd.context().rollingUpgrade().enabled())
- crd.context().rollingUpgrade().disable();
- }
-
- /** */
- @Test
- public void testEnableAndDisable() {
- IgniteProductVersion curVer =
IgniteProductVersion.fromString(crd.localNode().attribute(ATTR_BUILD_VER));
-
- String targetVerStr = curVer.major() + "." + (curVer.minor() + 1) +
".0";
- IgniteProductVersion targetVer =
IgniteProductVersion.fromString(targetVerStr);
-
- int res = execute(ROLLING_UPGRADE, ENABLE, targetVerStr);
-
- assertEquals(EXIT_CODE_OK, res);
-
- RollingUpgradeTaskResult taskRes =
(RollingUpgradeTaskResult)lastOperationResult;
-
- assertNull(taskRes.errorMessage());
- assertEquals(curVer, taskRes.currentVersion());
- assertEquals(targetVer, taskRes.targetVersion());
-
- assertTrue(crd.context().rollingUpgrade().enabled());
-
- res = execute(ROLLING_UPGRADE, DISABLE);
-
- assertEquals(EXIT_CODE_OK, res);
-
- taskRes = (RollingUpgradeTaskResult)lastOperationResult;
-
- assertNull(taskRes.errorMessage());
- assertEquals(curVer, taskRes.currentVersion());
- assertNull(taskRes.targetVersion());
-
- assertFalse(crd.context().rollingUpgrade().enabled());
- }
-
- /** */
- @Test
- public void testDoubleDisable() {
- IgniteProductVersion curVer =
IgniteProductVersion.fromString(crd.localNode().attribute(ATTR_BUILD_VER));
-
- int res = execute(ROLLING_UPGRADE, DISABLE);
-
- assertEquals(EXIT_CODE_OK, res);
- RollingUpgradeTaskResult taskRes =
(RollingUpgradeTaskResult)lastOperationResult;
-
- assertEquals(curVer, taskRes.currentVersion());
- assertNull(taskRes.targetVersion());
- assertNull(taskRes.errorMessage());
-
- res = execute(ROLLING_UPGRADE, DISABLE);
-
- assertEquals(EXIT_CODE_OK, res);
- taskRes = (RollingUpgradeTaskResult)lastOperationResult;
-
- assertNull(taskRes.errorMessage());
- assertEquals(curVer, taskRes.currentVersion());
- assertNull(taskRes.targetVersion());
-
- assertFalse(crd.context().rollingUpgrade().enabled());
- }
-
- /** */
- @Test
- public void testEnableWithDifferentTargetVersions() {
- IgniteProductVersion curVer =
IgniteProductVersion.fromString(crd.localNode().attribute(ATTR_BUILD_VER));
-
- String targetVerStr = curVer.major() + "." + (curVer.minor() + 1) +
".0";
- IgniteProductVersion targetVer =
IgniteProductVersion.fromString(targetVerStr);
-
- execute(ROLLING_UPGRADE, ENABLE, targetVerStr);
-
- String anotherTargetVerStr = curVer.major() + "." + curVer.minor() +
"." + (curVer.maintenance() + 1);
-
- int res = execute(ROLLING_UPGRADE, ENABLE, anotherTargetVerStr);
-
- assertEquals(EXIT_CODE_OK, res);
- RollingUpgradeTaskResult taskRes =
(RollingUpgradeTaskResult)lastOperationResult;
-
- assertNotNull(taskRes.errorMessage());
- assertTrue(taskRes.errorMessage().contains("Rolling upgrade is already
enabled with a different current and target version"));
-
- assertEquals(curVer, taskRes.currentVersion());
- assertEquals(targetVer, taskRes.targetVersion());
-
- assertTrue(crd.context().rollingUpgrade().enabled());
- }
-
- /** */
- @Test
- public void testForceEnable() {
- IgniteProductVersion curVer =
IgniteProductVersion.fromString(crd.localNode().attribute(ATTR_BUILD_VER));
-
- String targetVerStr = curVer.major() + "." + (curVer.minor() + 1) +
"." + (curVer.maintenance() + 1);
- IgniteProductVersion targetVer =
IgniteProductVersion.fromString(targetVerStr);
-
- int res = execute(ROLLING_UPGRADE, ENABLE, targetVerStr);
-
- assertEquals(EXIT_CODE_OK, res);
-
- RollingUpgradeTaskResult taskRes =
(RollingUpgradeTaskResult)lastOperationResult;
-
- assertNotNull(taskRes.errorMessage());
- assertTrue(taskRes.errorMessage().contains("Minor version can only be
incremented by 1"));
- assertNull(taskRes.targetVersion());
-
- String anotherTargetVerStr = curVer.major() + "." + curVer.minor() +
"." + (curVer.maintenance() + 1);
-
- execute(ROLLING_UPGRADE, ENABLE, targetVerStr, FORCE);
-
- taskRes = (RollingUpgradeTaskResult)lastOperationResult;
- assertNull(taskRes.errorMessage());
-
- res = execute(ROLLING_UPGRADE, ENABLE, anotherTargetVerStr, FORCE);
-
- assertEquals(EXIT_CODE_OK, res);
- taskRes = (RollingUpgradeTaskResult)lastOperationResult;
-
- assertNotNull(taskRes.errorMessage());
- assertTrue(taskRes.errorMessage().contains("Rolling upgrade is already
enabled with a different current and target version"));
-
- assertEquals(curVer, taskRes.currentVersion());
- assertEquals(targetVer, taskRes.targetVersion());
-
- assertTrue(crd.context().rollingUpgrade().enabled());
- }
-
- /** */
- @Test
- public void testStatusWhenDisabled() {
- int res = execute(ROLLING_UPGRADE, STATUS);
-
- assertEquals(EXIT_CODE_OK, res);
-
- RollingUpgradeTaskResult taskRes =
(RollingUpgradeTaskResult)lastOperationResult;
-
- assertNull(taskRes.errorMessage());
- assertNull(taskRes.currentVersion());
- assertNull(taskRes.targetVersion());
-
- assertNull(taskRes.nodes());
-
- RollingUpgradeStatusCommand statusCmd = new
RollingUpgradeStatusCommand();
-
- List<String> lines = new ArrayList<>();
-
- statusCmd.printResult(null, taskRes, lines::add);
-
- List<String> expectedLines = new ArrayList<>();
-
- expectedLines.add("Rolling upgrade status: disabled");
-
- assertEquals(expectedLines, lines);
- }
-
- /** */
- @Test
- public void testStatusWhenEnabled() throws Exception {
- IgniteProductVersion curVer =
IgniteProductVersion.fromString(crd.localNode().attribute(ATTR_BUILD_VER));
-
- String targetVerStr = curVer.major() + "." + (curVer.minor() + 1) +
"." + curVer.maintenance();
- IgniteProductVersion targetVer =
IgniteProductVersion.fromString(targetVerStr);
-
- execute(ROLLING_UPGRADE, ENABLE, targetVerStr);
-
- Consumer<IgniteConfiguration> cfgC = cfg -> {
- TcpDiscoverySpi discoSpi = new TcpDiscoverySpi() {
- @Override public void setNodeAttributes(Map<String, Object>
attrs, IgniteProductVersion ver) {
- super.setNodeAttributes(attrs, ver);
- attrs.put(ATTR_BUILD_VER, targetVerStr);
- }
- };
-
-
discoSpi.setIpFinder(((TcpDiscoverySpi)cfg.getDiscoverySpi()).getIpFinder());
- cfg.setDiscoverySpi(discoSpi);
- };
-
- try (IgniteEx ignored = startGrid(SERVER_NODE_CNT + 1, cfgC)) {
- int res = execute(ROLLING_UPGRADE, STATUS);
-
- assertEquals(EXIT_CODE_OK, res);
- }
-
- RollingUpgradeTaskResult taskRes =
(RollingUpgradeTaskResult)lastOperationResult;
-
- assertNull(taskRes.errorMessage());
- assertEquals(curVer, taskRes.currentVersion());
- assertEquals(targetVer, taskRes.targetVersion());
-
- List<RollingUpgradeStatusNode> nodes = taskRes.nodes();
-
- assertNotNull(nodes);
- assertEquals(SERVER_NODE_CNT + 2, nodes.size());
-
- List<RollingUpgradeStatusNode> oldNodes = nodes.stream().filter(node
-> node.version().equals(curVer)).collect(toList());
-
- List<RollingUpgradeStatusNode> newNodes = nodes.stream().filter(node
-> node.version().equals(targetVer)).collect(toList());
-
- assertEquals(SERVER_NODE_CNT + 1, oldNodes.size());
- assertEquals(1, newNodes.size());
-
- RollingUpgradeStatusCommand statusCmd = new
RollingUpgradeStatusCommand();
-
- List<String> lines = new ArrayList<>();
-
- statusCmd.printResult(null, taskRes, lines::add);
-
- List<String> expectedLines = new ArrayList<>();
-
- expectedLines.add("Rolling upgrade status: enabled");
- expectedLines.add("Current version: " + curVer);
- expectedLines.add("Target version: " + targetVer);
-
- expectedLines.add("Version " + curVer + ":");
- oldNodes.forEach(node -> expectedLines.add(" Node[id=" +
node.uuid() +
- ", consistentId=" + node.consistentId() +
- ", addrs=" + node.addresses() +
- ", order=" + node.order() +
- ", isClient=" + node.client() +
- "]"));
-
- expectedLines.add("Version " + targetVer + ":");
- newNodes.forEach(node -> expectedLines.add(" Node[id=" +
node.uuid() +
- ", consistentId=" + node.consistentId() +
- ", addrs=" + node.addresses() +
- ", order=" + node.order() +
- ", isClient=" + node.client() +
- "]"));
-
- assertEquals(expectedLines, lines);
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/IgniteCommandRegistry.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/IgniteCommandRegistry.java
index 9e6b2194ded..f7c9ea9c57f 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/IgniteCommandRegistry.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/management/IgniteCommandRegistry.java
@@ -36,7 +36,6 @@ import
org.apache.ignite.internal.management.metric.MetricCommand;
import
org.apache.ignite.internal.management.performancestatistics.PerformanceStatisticsCommand;
import org.apache.ignite.internal.management.persistence.PersistenceCommand;
import org.apache.ignite.internal.management.property.PropertyCommand;
-import
org.apache.ignite.internal.management.rollingupgrade.RollingUpgradeCommand;
import org.apache.ignite.internal.management.snapshot.SnapshotCommand;
import
org.apache.ignite.internal.management.tracing.TracingConfigurationCommand;
import org.apache.ignite.internal.management.tx.TxCommand;
@@ -71,7 +70,6 @@ public class IgniteCommandRegistry extends
CommandRegistryImpl<NoArg, Void> {
new TracingConfigurationCommand(),
new WarmUpCommand(),
new PropertyCommand(),
- new RollingUpgradeCommand(),
new SystemViewCommand(),
new MetricCommand(),
new PersistenceCommand(),
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeCommand.java
deleted file mode 100644
index 9ac1b41822c..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeCommand.java
+++ /dev/null
@@ -1,32 +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.rollingupgrade;
-
-import org.apache.ignite.internal.management.api.CommandRegistryImpl;
-
-/** Rolling upgrade commands. */
-public class RollingUpgradeCommand extends CommandRegistryImpl {
- /** */
- public RollingUpgradeCommand() {
- super(
- new RollingUpgradeEnableCommand(),
- new RollingUpgradeDisableCommand(),
- new RollingUpgradeStatusCommand()
- );
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeDisableCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeDisableCommand.java
deleted file mode 100644
index 8bf3b948f07..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeDisableCommand.java
+++ /dev/null
@@ -1,67 +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.rollingupgrade;
-
-import java.util.Collection;
-import java.util.function.Consumer;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.management.api.ComputeCommand;
-import org.apache.ignite.internal.management.api.NoArg;
-import org.apache.ignite.lang.IgniteExperimental;
-
-import static
org.apache.ignite.internal.management.api.CommandUtils.coordinatorOrNull;
-
-/** Command to disable rolling upgrade mode. */
-@IgniteExperimental
-public class RollingUpgradeDisableCommand implements ComputeCommand<NoArg,
RollingUpgradeTaskResult> {
- /** {@inheritDoc} */
- @Override public String description() {
- return "Disable rolling upgrade mode. All nodes in the cluster must be
running the same version";
- }
-
- /** {@inheritDoc} */
- @Override public Class<NoArg> argClass() {
- return NoArg.class;
- }
-
- /** {@inheritDoc} */
- @Override public Class<RollingUpgradeDisableTask> taskClass() {
- return RollingUpgradeDisableTask.class;
- }
-
- /** {@inheritDoc} */
- @Override public void printResult(NoArg arg, RollingUpgradeTaskResult res,
Consumer<String> printer) {
- if (res.errorMessage() != null) {
- printer.accept("Failed to disable rolling upgrade: " +
res.errorMessage());
- return;
- }
-
- printer.accept("Rolling upgrade disabled [currentVersion=" +
res.currentVersion() + ']');
- }
-
- /** {@inheritDoc} */
- @Override public Collection<ClusterNode> nodes(Collection<ClusterNode>
nodes, NoArg arg) {
- Collection<ClusterNode> coordinator = coordinatorOrNull(nodes);
-
- if (coordinator == null)
- throw new IgniteException("Could not find coordinator among nodes:
" + nodes);
-
- return coordinator;
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeDisableTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeDisableTask.java
deleted file mode 100644
index 948e8b0161d..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeDisableTask.java
+++ /dev/null
@@ -1,84 +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.rollingupgrade;
-
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.internal.management.api.NoArg;
-import
org.apache.ignite.internal.processors.rollingupgrade.RollingUpgradeProcessor;
-import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.internal.util.lang.IgnitePair;
-import org.apache.ignite.internal.visor.VisorJob;
-import org.apache.ignite.internal.visor.VisorOneNodeTask;
-import org.apache.ignite.lang.IgniteProductVersion;
-import org.apache.ignite.plugin.security.SecurityPermissionSet;
-
-import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_BUILD_VER;
-import static
org.apache.ignite.plugin.security.SecurityPermissionSetBuilder.NO_PERMISSIONS;
-
-/** Task to disable rolling upgrade. */
-@GridInternal
-public class RollingUpgradeDisableTask extends VisorOneNodeTask<NoArg,
RollingUpgradeTaskResult> {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** {@inheritDoc} */
- @Override protected VisorJob<NoArg, RollingUpgradeTaskResult> job(NoArg
arg) {
- return new RollingUpgradeDisableJob(arg, debug);
- }
-
- /** */
- private static class RollingUpgradeDisableJob extends VisorJob<NoArg,
RollingUpgradeTaskResult> {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** */
- protected RollingUpgradeDisableJob(NoArg arg, boolean debug) {
- super(arg, debug);
- }
-
- /** {@inheritDoc} */
- @Override public SecurityPermissionSet requiredPermissions() {
- // This task does nothing but delegate a call to the Ignite
Rolling Upgrade processor, which performs user
- // permissions checks on its own. Therefore, it is safe to execute
task without any additional permissions check.
- return NO_PERMISSIONS;
- }
-
- /** {@inheritDoc} */
- @Override protected RollingUpgradeTaskResult run(NoArg arg) throws
IgniteException {
- RollingUpgradeProcessor proc = ignite.context().rollingUpgrade();
-
- try {
- proc.disable();
-
- String buildVer = ignite.localNode().attribute(ATTR_BUILD_VER);
-
- return new
RollingUpgradeTaskResult(IgniteProductVersion.fromString(buildVer), null, null);
- }
- catch (IgniteCheckedException e) {
- IgnitePair<IgniteProductVersion> rollUpVers = proc.versions();
-
- return new RollingUpgradeTaskResult(
- rollUpVers == null ? null : rollUpVers.get1(),
- rollUpVers == null ? null : rollUpVers.get2(),
- e.getMessage()
- );
- }
- }
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommand.java
deleted file mode 100644
index 94cfd7be2ab..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommand.java
+++ /dev/null
@@ -1,74 +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.rollingupgrade;
-
-import java.util.Collection;
-import java.util.function.Consumer;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.management.api.ComputeCommand;
-import org.apache.ignite.lang.IgniteExperimental;
-
-import static
org.apache.ignite.internal.management.api.CommandUtils.coordinatorOrNull;
-
-/** Command to enable rolling upgrade mode. */
-@IgniteExperimental
-public class RollingUpgradeEnableCommand implements
ComputeCommand<RollingUpgradeEnableCommandArg, RollingUpgradeTaskResult> {
- /** {@inheritDoc} */
- @Override public String description() {
- return "Enable rolling upgrade mode. It allows cluster with
mixed-version nodes";
- }
-
- /** {@inheritDoc} */
- @Override public String confirmationPrompt(RollingUpgradeEnableCommandArg
arg) {
- return "Warning: the command will enable rolling upgrade mode. "
- + "It allows cluster with mixed-version nodes. You are responsible
for upgrading nodes manually. "
- + "This mode can be disabled only when all nodes (including client
nodes) run the same version.";
- }
-
- /** {@inheritDoc} */
- @Override public Class<RollingUpgradeEnableCommandArg> argClass() {
- return RollingUpgradeEnableCommandArg.class;
- }
-
- /** {@inheritDoc} */
- @Override public Class<RollingUpgradeEnableTask> taskClass() {
- return RollingUpgradeEnableTask.class;
- }
-
- /** {@inheritDoc} */
- @Override public void printResult(RollingUpgradeEnableCommandArg arg,
RollingUpgradeTaskResult res, Consumer<String> printer) {
- if (res.errorMessage() != null) {
- printer.accept("Failed to enable rolling upgrade: " +
res.errorMessage());
- return;
- }
-
- printer.accept("Rolling upgrade enabled "
- + "[currentVersion=" + res.currentVersion() + ",
targetVersion=" + res.targetVersion() + ']');
- }
-
- /** {@inheritDoc} */
- @Override public Collection<ClusterNode> nodes(Collection<ClusterNode>
nodes, RollingUpgradeEnableCommandArg arg) {
- Collection<ClusterNode> coordinator = coordinatorOrNull(nodes);
-
- if (coordinator == null)
- throw new IgniteException("Could not find coordinator among nodes:
" + nodes);
-
- return coordinator;
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java
deleted file mode 100644
index 2dbf87e3189..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableCommandArg.java
+++ /dev/null
@@ -1,62 +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.rollingupgrade;
-
-import org.apache.ignite.internal.Order;
-import org.apache.ignite.internal.dto.IgniteDataTransferObject;
-import org.apache.ignite.internal.management.api.Argument;
-import org.apache.ignite.internal.management.api.Positional;
-
-/** Rolling upgrade enable command argument. */
-public class RollingUpgradeEnableCommandArg extends IgniteDataTransferObject {
- /** */
- private static final long serialVersionUID = 0;
-
- /** Target version. */
- @Order(0)
- @Positional
- @Argument(description = "Target Ignite version. The target version can be
one minor higher if its maintenance version is zero, "
- + "or one maintenance version higher (e.g. 2.18.0 -> 2.18.1 or 2.18.1
-> 2.19.0)")
- String targetVersion;
-
- /** Force flag. */
- @Order(1)
- @Argument(description = "Enable rolling upgrade without target version
checks."
- + " Use only when required, if the upgrade cannot proceed otherwise",
optional = true)
- boolean force;
-
- /** */
- public String targetVersion() {
- return targetVersion;
- }
-
- /** */
- public void targetVersion(String targetVersion) {
- this.targetVersion = targetVersion;
- }
-
- /** */
- public boolean force() {
- return force;
- }
-
- /** */
- public void force(boolean force) {
- this.force = force;
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableTask.java
deleted file mode 100644
index 7f97f69be97..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeEnableTask.java
+++ /dev/null
@@ -1,87 +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.rollingupgrade;
-
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.IgniteException;
-import
org.apache.ignite.internal.processors.rollingupgrade.RollingUpgradeProcessor;
-import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.internal.util.lang.IgnitePair;
-import org.apache.ignite.internal.visor.VisorJob;
-import org.apache.ignite.internal.visor.VisorOneNodeTask;
-import org.apache.ignite.lang.IgniteProductVersion;
-import org.apache.ignite.plugin.security.SecurityPermissionSet;
-
-import static
org.apache.ignite.plugin.security.SecurityPermissionSetBuilder.NO_PERMISSIONS;
-
-/** Task to enable rolling upgrade. */
-@GridInternal
-public class RollingUpgradeEnableTask extends
VisorOneNodeTask<RollingUpgradeEnableCommandArg, RollingUpgradeTaskResult> {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** {@inheritDoc} */
- @Override protected VisorJob<RollingUpgradeEnableCommandArg,
RollingUpgradeTaskResult> job(RollingUpgradeEnableCommandArg arg) {
- return new RollingUpgradeEnableJob(arg, debug);
- }
-
- /** */
- private static class RollingUpgradeEnableJob extends
VisorJob<RollingUpgradeEnableCommandArg, RollingUpgradeTaskResult> {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** */
- protected RollingUpgradeEnableJob(RollingUpgradeEnableCommandArg arg,
boolean debug) {
- super(arg, debug);
- }
-
- /** {@inheritDoc} */
- @Override public SecurityPermissionSet requiredPermissions() {
- // This task does nothing but delegate a call to the Ignite
Rolling Upgrade processor, which performs user
- // permissions checks on its own. Therefore, it is safe to execute
task without any additional permissions check.
- return NO_PERMISSIONS;
- }
-
- /** {@inheritDoc} */
- @Override protected RollingUpgradeTaskResult
run(RollingUpgradeEnableCommandArg arg) throws IgniteException {
- RollingUpgradeProcessor proc = ignite.context().rollingUpgrade();
-
- try {
-
proc.enable(IgniteProductVersion.fromString(arg.targetVersion()), arg.force());
-
- IgnitePair<IgniteProductVersion> rollUpVers = proc.versions();
-
- return new RollingUpgradeTaskResult(
- rollUpVers == null ? null : rollUpVers.get1(),
- rollUpVers == null ? null : rollUpVers.get2(),
- null
- );
- }
- catch (IgniteCheckedException e) {
- IgnitePair<IgniteProductVersion> rollUpVers = proc.versions();
-
- return new RollingUpgradeTaskResult(
- rollUpVers == null ? null : rollUpVers.get1(),
- rollUpVers == null ? null : rollUpVers.get2(),
- e.getMessage()
- );
- }
- }
-
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusCommand.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusCommand.java
deleted file mode 100644
index a46d63b6ec5..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusCommand.java
+++ /dev/null
@@ -1,87 +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.rollingupgrade;
-
-import java.util.Collection;
-import java.util.TreeMap;
-import java.util.function.Consumer;
-import java.util.stream.Collectors;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.management.api.ComputeCommand;
-import org.apache.ignite.internal.management.api.NoArg;
-import org.apache.ignite.lang.IgniteExperimental;
-
-import static
org.apache.ignite.internal.management.api.CommandUtils.coordinatorOrNull;
-
-/** Command to get status of rolling upgrade mode. */
-@IgniteExperimental
-public class RollingUpgradeStatusCommand implements ComputeCommand<NoArg,
RollingUpgradeTaskResult> {
- /** {@inheritDoc} */
- @Override public String description() {
- return "Get status of rolling upgrade mode";
- }
-
- /** {@inheritDoc} */
- @Override public Class<NoArg> argClass() {
- return NoArg.class;
- }
-
- /** {@inheritDoc} */
- @Override public Class<RollingUpgradeStatusTask> taskClass() {
- return RollingUpgradeStatusTask.class;
- }
-
- /** {@inheritDoc} */
- @Override public void printResult(NoArg arg, RollingUpgradeTaskResult res,
Consumer<String> printer) {
- printer.accept("Rolling upgrade status: " + (res.targetVersion() !=
null ? "enabled" : "disabled"));
-
- if (res.targetVersion() == null)
- return;
-
- printer.accept("Current version: " + res.currentVersion());
- printer.accept("Target version: " + res.targetVersion());
-
- if (res.nodes() == null || res.nodes().isEmpty()) {
- printer.accept("No nodes information available");
- return;
- }
-
- res.nodes().stream()
- .collect(Collectors.groupingBy(RollingUpgradeStatusNode::version,
TreeMap::new, Collectors.toList()))
- .forEach((ver, nodes) -> {
- printer.accept("Version " + ver + ":");
- nodes.forEach(node -> printer.accept(" Node[id=" +
node.uuid() +
- ", consistentId=" + node.consistentId() +
- ", addrs=" + node.addresses() +
- ", order=" + node.order() +
- ", isClient=" + node.client() +
- "]"));
- });
- }
-
- /** {@inheritDoc} */
- @Override public Collection<ClusterNode> nodes(Collection<ClusterNode>
nodes, NoArg arg) {
- Collection<ClusterNode> coordinator = coordinatorOrNull(nodes);
-
- if (coordinator == null)
- throw new IgniteException("Could not find coordinator among nodes:
" + nodes);
-
- return coordinator;
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusNode.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusNode.java
deleted file mode 100644
index 40d6e81e0a3..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusNode.java
+++ /dev/null
@@ -1,102 +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.rollingupgrade;
-
-import java.util.Collection;
-import java.util.UUID;
-import org.apache.ignite.cluster.ClusterNode;
-import org.apache.ignite.internal.Order;
-import org.apache.ignite.internal.dto.IgniteDataTransferObject;
-import org.apache.ignite.lang.IgniteProductVersion;
-
-import static org.apache.ignite.internal.IgniteNodeAttributes.ATTR_BUILD_VER;
-
-/** Node status information for rolling upgrade. */
-public class RollingUpgradeStatusNode extends IgniteDataTransferObject {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** */
- @Order(0)
- UUID uuid;
-
- /** */
- @Order(1)
- Object consistentId;
-
- /** */
- @Order(2)
- Collection<String> addresses;
-
- /** */
- @Order(3)
- IgniteProductVersion ver;
-
- /** */
- @Order(4)
- long order;
-
- /** */
- @Order(5)
- boolean client;
-
- /** */
- public RollingUpgradeStatusNode() {
- // No-op.
- }
-
- /** */
- public RollingUpgradeStatusNode(ClusterNode node) {
- ver = IgniteProductVersion.fromString(node.attribute(ATTR_BUILD_VER));
- uuid = node.id();
- consistentId = node.consistentId();
- addresses = node.addresses();
- order = node.order();
- client = node.isClient();
- }
-
- /** */
- public IgniteProductVersion version() {
- return ver;
- }
-
- /** */
- public Collection<String> addresses() {
- return addresses;
- }
-
- /** */
- public UUID uuid() {
- return uuid;
- }
-
- /** */
- public Object consistentId() {
- return consistentId;
- }
-
- /** */
- public long order() {
- return order;
- }
-
- /** */
- public boolean client() {
- return client;
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusTask.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusTask.java
deleted file mode 100644
index af5084748f8..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeStatusTask.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.rollingupgrade;
-
-import java.util.List;
-import java.util.stream.Collectors;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.internal.management.api.NoArg;
-import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.internal.util.lang.IgnitePair;
-import org.apache.ignite.internal.visor.VisorJob;
-import org.apache.ignite.internal.visor.VisorOneNodeTask;
-import org.apache.ignite.lang.IgniteProductVersion;
-
-/** Task to obtain rolling upgrade status. */
-@GridInternal
-public class RollingUpgradeStatusTask extends VisorOneNodeTask<NoArg,
RollingUpgradeTaskResult> {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** {@inheritDoc} */
- @Override protected VisorJob<NoArg, RollingUpgradeTaskResult> job(NoArg
arg) {
- return new RollingUpgradeStatusJob(arg, debug);
- }
-
- /** */
- private static class RollingUpgradeStatusJob extends VisorJob<NoArg,
RollingUpgradeTaskResult> {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** */
- protected RollingUpgradeStatusJob(NoArg arg, boolean debug) {
- super(arg, debug);
- }
-
- /** {@inheritDoc} */
- @Override protected RollingUpgradeTaskResult run(NoArg arg) throws
IgniteException {
- IgnitePair<IgniteProductVersion> vers =
ignite.context().rollingUpgrade().versions();
-
- List<RollingUpgradeStatusNode> nodes = null;
-
- if (vers != null && vers.get2() != null)
- nodes = ignite.context().discovery().allNodes().stream()
- .map(node -> new RollingUpgradeStatusNode(node))
- .collect(Collectors.toList());
-
- RollingUpgradeTaskResult res = new RollingUpgradeTaskResult(
- vers == null ? null : vers.get1(),
- vers == null ? null : vers.get2(),
- null,
- nodes
- );
-
- return res;
- }
- }
-}
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeTaskResult.java
b/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeTaskResult.java
deleted file mode 100644
index bd08c25ad4f..00000000000
---
a/modules/core/src/main/java/org/apache/ignite/internal/management/rollingupgrade/RollingUpgradeTaskResult.java
+++ /dev/null
@@ -1,114 +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.rollingupgrade;
-
-import java.util.List;
-import org.apache.ignite.internal.Order;
-import org.apache.ignite.internal.dto.IgniteDataTransferObject;
-import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.lang.IgniteProductVersion;
-
-/** */
-public class RollingUpgradeTaskResult extends IgniteDataTransferObject {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** */
- @Order(0)
- IgniteProductVersion curVer;
-
- /** */
- @Order(1)
- IgniteProductVersion targetVer;
-
- /** */
- @Order(2)
- String errMsg;
-
- /** */
- @Order(3)
- List<RollingUpgradeStatusNode> nodes;
-
- /** */
- public RollingUpgradeTaskResult(IgniteProductVersion curVer,
IgniteProductVersion targetVer, String errMsg) {
- this(curVer, targetVer, errMsg, null);
- }
-
- /** */
- public RollingUpgradeTaskResult(
- IgniteProductVersion curVer,
- IgniteProductVersion targetVer,
- String errMsg,
- List<RollingUpgradeStatusNode> nodes
- ) {
- this.curVer = curVer;
- this.targetVer = targetVer;
- this.errMsg = errMsg;
- this.nodes = nodes;
- }
-
- /** */
- public RollingUpgradeTaskResult() {
- // No-op.
- }
-
- /** */
- public IgniteProductVersion currentVersion() {
- return curVer;
- }
-
- /** */
- public void currentVersion(IgniteProductVersion curVer) {
- this.curVer = curVer;
- }
-
- /** */
- public IgniteProductVersion targetVersion() {
- return targetVer;
- }
-
- /** */
- public void targetVersion(IgniteProductVersion targetVer) {
- this.targetVer = targetVer;
- }
-
- /** */
- public String errorMessage() {
- return errMsg;
- }
-
- /** */
- public void errorMessage(String errMsg) {
- this.errMsg = errMsg;
- }
-
- /** */
- public List<RollingUpgradeStatusNode> nodes() {
- return nodes;
- }
-
- /** */
- public void nodes(List<RollingUpgradeStatusNode> nodes) {
- this.nodes = nodes;
- }
-
- /** {@inheritDoc} */
- @Override public String toString() {
- return S.toString(RollingUpgradeTaskResult.class, this);
- }
-}
diff --git
a/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassTest_help.output
b/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassTest_help.output
index 6e4cfb5e299..93f39543202 100644
---
a/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassTest_help.output
+++
b/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassTest_help.output
@@ -368,22 +368,6 @@ If the file name isn't specified the output file name is:
'<typeId>.bin':
Set the property value:
control.(sh|bat) --property set --name <property_name> --val
<property_value>
- [EXPERIMENTAL]
- Enable rolling upgrade mode. It allows cluster with mixed-version nodes:
- control.(sh|bat) --rolling-upgrade enable target_version [--force]
-
- Parameters:
- target_version - Target Ignite version. The target version can be one
minor higher if its maintenance version is zero, or one maintenance version
higher (e.g. 2.18.0 -> 2.18.1 or 2.18.1 -> 2.19.0).
- --force - Enable rolling upgrade without target version
checks. Use only when required, if the upgrade cannot proceed otherwise.
-
- [EXPERIMENTAL]
- Disable rolling upgrade mode. All nodes in the cluster must be running the
same version:
- control.(sh|bat) --rolling-upgrade disable
-
- [EXPERIMENTAL]
- Get status of rolling upgrade mode:
- control.(sh|bat) --rolling-upgrade status
-
Print system view content:
control.(sh|bat) --system-view system_view_name [--node-id
node_id|--node-ids nodeId1,nodeId2,..|--all-nodes]
diff --git
a/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output
b/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output
index b1d62c5834a..c7e6fb3bd77 100644
---
a/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output
+++
b/modules/core/src/test/resources/org.apache.ignite.util/GridCommandHandlerClusterByClassWithSSLTest_help.output
@@ -368,22 +368,6 @@ If the file name isn't specified the output file name is:
'<typeId>.bin':
Set the property value:
control.(sh|bat) --property set --name <property_name> --val
<property_value>
- [EXPERIMENTAL]
- Enable rolling upgrade mode. It allows cluster with mixed-version nodes:
- control.(sh|bat) --rolling-upgrade enable target_version [--force]
-
- Parameters:
- target_version - Target Ignite version. The target version can be one
minor higher if its maintenance version is zero, or one maintenance version
higher (e.g. 2.18.0 -> 2.18.1 or 2.18.1 -> 2.19.0).
- --force - Enable rolling upgrade without target version
checks. Use only when required, if the upgrade cannot proceed otherwise.
-
- [EXPERIMENTAL]
- Disable rolling upgrade mode. All nodes in the cluster must be running the
same version:
- control.(sh|bat) --rolling-upgrade disable
-
- [EXPERIMENTAL]
- Get status of rolling upgrade mode:
- control.(sh|bat) --rolling-upgrade status
-
Print system view content:
control.(sh|bat) --system-view system_view_name [--node-id
node_id|--node-ids nodeId1,nodeId2,..|--all-nodes]