You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by je...@apache.org on 2018/11/15 17:54:42 UTC
[geode] branch develop updated: GEODE-5971: Refactor diskstore
commands to extend GfshCommand (#2843)
This is an automated email from the ASF dual-hosted git repository.
jensdeppe pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new c61b39e GEODE-5971: Refactor diskstore commands to extend GfshCommand (#2843)
c61b39e is described below
commit c61b39eed4ddfb466455ddba569dd276c5b541f9
Author: Jens Deppe <jd...@pivotal.io>
AuthorDate: Thu Nov 15 09:54:34 2018 -0800
GEODE-5971: Refactor diskstore commands to extend GfshCommand (#2843)
---
.../cli/commands/DiskStoreCommandsDUnitTest.java | 22 ++++++++++++++++++++++
.../cli/commands/BackupDiskStoreCommand.java | 3 ++-
.../cli/commands/CompactDiskStoreCommand.java | 3 ++-
.../cli/commands/DescribeDiskStoreCommand.java | 17 ++---------------
.../cli/commands/ListDiskStoresCommand.java | 3 ++-
.../commands/RevokeMissingDiskStoreCommand.java | 3 ++-
.../cli/commands/ShowMissingDiskStoreCommand.java | 3 ++-
.../cli/commands/ValidateDiskStoreCommand.java | 3 ++-
.../cli/functions/DescribeDiskStoreFunction.java | 2 +-
.../DescribeDiskStoreFunctionJUnitTest.java | 2 +-
10 files changed, 38 insertions(+), 23 deletions(-)
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
index fc08858..eaed28a 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
@@ -365,6 +365,28 @@ public class DiskStoreCommandsDUnitTest {
}
@Test
+ public void testDescribeMissingDiskStoreCommand() throws Exception {
+ MemberVM server1 = rule.startServerVM(0, x -> x.withJMXManager().withProperty("groups", GROUP));
+
+ gfsh.connectAndVerify(server1.getJmxPort(), GfshCommandRule.PortType.jmxManager);
+
+ createDiskStoreAndRegion(server1, 1);
+
+ server1.invoke(() -> {
+ Cache cache = ClusterStartupRule.getCache();
+ Region r = cache.getRegion(REGION_1);
+ r.put("A", "B");
+ });
+
+ CommandResult result = gfsh.executeCommand(
+ String.format("describe disk-store --member=%s --name=%s", server1.getName(), "UNKNOWN"));
+
+ assertThat(result.getStatus()).isEqualTo(Result.Status.ERROR);
+ assertThat(result.getErrorMessage())
+ .isEqualTo("A disk store with name 'UNKNOWN' was not found on member 'server-0'.");
+ }
+
+ @Test
public void testUpgradeOfflineDiskStoreCommandFailsAsExpected() throws Exception {
MemberVM server1 = rule.startServerVM(0, x -> x.withJMXManager().withProperty("groups", GROUP));
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java
index e4616f4..c76f162 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/BackupDiskStoreCommand.java
@@ -28,13 +28,14 @@ import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.backup.BackupOperation;
import org.apache.geode.management.BackupStatus;
import org.apache.geode.management.cli.CliMetaData;
+import org.apache.geode.management.cli.GfshCommand;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.result.model.ResultModel;
import org.apache.geode.management.internal.cli.result.model.TabularResultModel;
import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission;
-public class BackupDiskStoreCommand extends InternalGfshCommand {
+public class BackupDiskStoreCommand extends GfshCommand {
public static final String BACKED_UP_DISKSTORES_SECTION = "backed-up-diskstores";
public static final String OFFLINE_DISKSTORES_SECTION = "offline-diskstores";
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java
index a14fa45..f31a578 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/CompactDiskStoreCommand.java
@@ -36,6 +36,7 @@ import org.apache.geode.management.DistributedSystemMXBean;
import org.apache.geode.management.ManagementService;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.cli.ConverterHint;
+import org.apache.geode.management.cli.GfshCommand;
import org.apache.geode.management.internal.cli.LogWrapper;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.result.model.DataResultModel;
@@ -44,7 +45,7 @@ import org.apache.geode.management.internal.messages.CompactRequest;
import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission;
-public class CompactDiskStoreCommand extends InternalGfshCommand {
+public class CompactDiskStoreCommand extends GfshCommand {
@CliCommand(value = CliStrings.COMPACT_DISK_STORE, help = CliStrings.COMPACT_DISK_STORE__HELP)
@CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE})
@ResourceOperation(resource = ResourcePermission.Resource.CLUSTER,
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java
index ebe36b8..59f7057 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeDiskStoreCommand.java
@@ -26,6 +26,7 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.lang.ClassUtils;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.cli.ConverterHint;
+import org.apache.geode.management.cli.GfshCommand;
import org.apache.geode.management.internal.cli.domain.DiskStoreDetails;
import org.apache.geode.management.internal.cli.exceptions.EntityNotFoundException;
import org.apache.geode.management.internal.cli.functions.DescribeDiskStoreFunction;
@@ -36,7 +37,7 @@ import org.apache.geode.management.internal.cli.result.model.TabularResultModel;
import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission;
-public class DescribeDiskStoreCommand extends InternalGfshCommand {
+public class DescribeDiskStoreCommand extends GfshCommand {
public static final String DISK_STORE_SECTION = "disk-store";
public static final String DISK_DIR_SECTION = "disk-dir";
public static final String REGION_SECTION = "region";
@@ -76,20 +77,6 @@ public class DescribeDiskStoreCommand extends InternalGfshCommand {
} else { // unknown and unexpected return type...
final Throwable cause = (result instanceof Throwable ? (Throwable) result : null);
- if (isLogging()) {
- if (cause != null) {
- getGfsh().logSevere(String.format(
- "Exception (%1$s) occurred while executing '%2$s' on member (%3$s) with disk store (%4$s).",
- ClassUtils.getClassName(cause), CliStrings.DESCRIBE_DISK_STORE, memberName,
- diskStoreName), cause);
- } else {
- getGfsh().logSevere(String.format(
- "Received an unexpected result of type (%1$s) while executing '%2$s' on member (%3$s) with disk store (%4$s).",
- ClassUtils.getClassName(result), CliStrings.DESCRIBE_DISK_STORE, memberName,
- diskStoreName), null);
- }
- }
-
throw new RuntimeException(
CliStrings.format(CliStrings.UNEXPECTED_RETURN_TYPE_EXECUTING_COMMAND_ERROR_MESSAGE,
ClassUtils.getClassName(result), CliStrings.DESCRIBE_DISK_STORE),
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java
index 5cdfcd0..61bf440 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ListDiskStoresCommand.java
@@ -28,6 +28,7 @@ import org.apache.geode.distributed.DistributedMember;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.execute.AbstractExecution;
import org.apache.geode.management.cli.CliMetaData;
+import org.apache.geode.management.cli.GfshCommand;
import org.apache.geode.management.internal.cli.domain.DiskStoreDetails;
import org.apache.geode.management.internal.cli.functions.ListDiskStoresFunction;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
@@ -37,7 +38,7 @@ import org.apache.geode.management.internal.cli.result.model.TabularResultModel;
import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission;
-public class ListDiskStoresCommand extends InternalGfshCommand {
+public class ListDiskStoresCommand extends GfshCommand {
@CliCommand(value = CliStrings.LIST_DISK_STORE, help = CliStrings.LIST_DISK_STORE__HELP)
@CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE})
@ResourceOperation(resource = ResourcePermission.Resource.CLUSTER,
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java
index 1014a71..3dc78ac 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/RevokeMissingDiskStoreCommand.java
@@ -21,12 +21,13 @@ import org.springframework.shell.core.annotation.CliOption;
import org.apache.geode.management.DistributedSystemMXBean;
import org.apache.geode.management.ManagementService;
import org.apache.geode.management.cli.CliMetaData;
+import org.apache.geode.management.cli.GfshCommand;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.result.model.ResultModel;
import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission;
-public class RevokeMissingDiskStoreCommand extends InternalGfshCommand {
+public class RevokeMissingDiskStoreCommand extends GfshCommand {
@CliCommand(value = CliStrings.REVOKE_MISSING_DISK_STORE,
help = CliStrings.REVOKE_MISSING_DISK_STORE__HELP)
@CliMetaData(relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE})
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java
index 4f6fe52..3b41277 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ShowMissingDiskStoreCommand.java
@@ -29,6 +29,7 @@ import org.apache.geode.internal.cache.execute.AbstractExecution;
import org.apache.geode.internal.cache.partitioned.ColocatedRegionDetails;
import org.apache.geode.internal.cache.persistence.PersistentMemberPattern;
import org.apache.geode.management.cli.CliMetaData;
+import org.apache.geode.management.cli.GfshCommand;
import org.apache.geode.management.internal.cli.functions.ShowMissingDiskStoresFunction;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.result.ResultDataException;
@@ -37,7 +38,7 @@ import org.apache.geode.management.internal.cli.result.model.TabularResultModel;
import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission;
-public class ShowMissingDiskStoreCommand extends InternalGfshCommand {
+public class ShowMissingDiskStoreCommand extends GfshCommand {
public static final String MISSING_DISK_STORES_SECTION = "missing-disk-stores";
public static final String MISSING_COLOCATED_REGIONS_SECTION = "missing-colocated-regions";
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java
index d25326a..077b576 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ValidateDiskStoreCommand.java
@@ -28,6 +28,7 @@ import org.springframework.shell.core.annotation.CliCommand;
import org.springframework.shell.core.annotation.CliOption;
import org.apache.geode.management.cli.CliMetaData;
+import org.apache.geode.management.cli.GfshCommand;
import org.apache.geode.management.cli.Result;
import org.apache.geode.management.internal.cli.LogWrapper;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
@@ -35,7 +36,7 @@ import org.apache.geode.management.internal.cli.result.model.InfoResultModel;
import org.apache.geode.management.internal.cli.result.model.ResultModel;
import org.apache.geode.management.internal.cli.util.DiskStoreValidater;
-public class ValidateDiskStoreCommand extends InternalGfshCommand {
+public class ValidateDiskStoreCommand extends GfshCommand {
@CliCommand(value = CliStrings.VALIDATE_DISK_STORE, help = CliStrings.VALIDATE_DISK_STORE__HELP)
@CliMetaData(shellOnly = true, relatedTopic = {CliStrings.TOPIC_GEODE_DISKSTORE})
public ResultModel validateDiskStore(
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java
index a2bbd96..a2a8f21 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunction.java
@@ -120,7 +120,7 @@ public class DescribeDiskStoreFunction implements InternalFunction {
} else {
context.getResultSender()
.sendException(new EntityNotFoundException(
- String.format("A disk store with name (%1$s) was not found on member (%2$s).",
+ String.format("A disk store with name '%1$s' was not found on member '%2$s'.",
diskStoreName, memberName)));
}
}
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java
index b98ceae..e86cc8c 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/functions/DescribeDiskStoreFunctionJUnitTest.java
@@ -465,7 +465,7 @@ public class DescribeDiskStoreFunctionJUnitTest {
final DescribeDiskStoreFunction function = new DescribeDiskStoreFunction();
function.execute(mockFunctionContext);
- String expected = String.format("A disk store with name (%1$s) was not found on member (%2$s).",
+ String expected = String.format("A disk store with name '%1$s' was not found on member '%2$s'.",
diskStoreName, memberName);
assertThatThrownBy(testResultSender::getResults).isInstanceOf(EntityNotFoundException.class)
.hasMessage(expected);