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/04/19 19:04:21 UTC
[geode] branch develop updated: GEODE-5110: Remove use of
subSections in CompositeResultData structures (#1826)
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 8ec0c53 GEODE-5110: Remove use of subSections in CompositeResultData structures (#1826)
8ec0c53 is described below
commit 8ec0c53bd47a5519e43153d0ff75e1fc84cde96a
Author: Jens Deppe <jd...@pivotal.io>
AuthorDate: Thu Apr 19 12:04:16 2018 -0700
GEODE-5110: Remove use of subSections in CompositeResultData structures (#1826)
---
.../cli/commands/CompactDiskStoreCommand.java | 12 +--
.../cli/commands/DescribeConfigCommand.java | 20 +---
.../cli/commands/DescribeRegionCommand.java | 4 +-
.../internal/cli/result/CompositeResultData.java | 113 ---------------------
.../cli/commands/DescribeRegionDUnitTest.java | 14 ++-
.../cli/commands/DescribeRegionJUnitTest.java | 12 +--
.../cli/commands/DiskStoreCommandsDUnitTest.java | 39 ++++++-
7 files changed, 59 insertions(+), 155 deletions(-)
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 18fff7f..328fcb4 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
@@ -136,17 +136,15 @@ public class CompactDiskStoreCommand extends InternalGfshCommand {
Set<Map.Entry<DistributedMember, PersistentID>> entries = overallCompactInfo.entrySet();
for (Map.Entry<DistributedMember, PersistentID> entry : entries) {
- String memberId = entry.getKey().getId();
+ String memberId = entry.getKey().getName();
section = compositeResultData.addSection(memberId);
- section.addData("On Member", memberId);
+ section.setHeader("On Member: " + memberId);
PersistentID persistentID = entry.getValue();
if (persistentID != null) {
- CompositeResultData.SectionResultData subSection =
- section.addSection("DiskStore" + memberId);
- subSection.addData("UUID", persistentID.getUUID());
- subSection.addData("Host", persistentID.getHost().getHostName());
- subSection.addData("Directory", persistentID.getDirectory());
+ section.addData("UUID", persistentID.getUUID());
+ section.addData("Host", persistentID.getHost().getHostName());
+ section.addData("Directory", persistentID.getDirectory());
}
}
compositeResultData.setHeader("Compacted " + diskStoreName + groupInfo);
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java
index 100fdfb..2029584 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeConfigCommand.java
@@ -75,7 +75,7 @@ public class DescribeConfigCommand extends InternalGfshCommand {
crd.setHeader(CliStrings.format(CliStrings.DESCRIBE_CONFIG__HEADER__TEXT, memberNameOrId));
List<String> jvmArgsList = memberConfigInfo.getJvmInputArguments();
- TabularResultData jvmInputArgs = crd.addSection().addSection().addTable();
+ TabularResultData jvmInputArgs = crd.addSection().addTable();
for (String jvmArg : jvmArgsList) {
// This redaction should be redundant, since jvmArgs should have already been redacted in
@@ -97,11 +97,8 @@ public class DescribeConfigCommand extends InternalGfshCommand {
memberConfigInfo.getCacheServerAttributes();
if (cacheServerAttributesList != null && !cacheServerAttributesList.isEmpty()) {
- CompositeResultData.SectionResultData cacheServerSection = crd.addSection();
- cacheServerSection.setHeader("Cache-server attributes");
-
for (Map<String, String> cacheServerAttributes : cacheServerAttributesList) {
- addSubSection(cacheServerSection, cacheServerAttributes);
+ addSection(crd, cacheServerAttributes, "Cache-server attributes");
}
}
result = ResultBuilder.buildResult(crd);
@@ -132,17 +129,4 @@ public class DescribeConfigCommand extends InternalGfshCommand {
}
}
- private void addSubSection(CompositeResultData.SectionResultData section,
- Map<String, String> attrMap) {
- if (!attrMap.isEmpty()) {
- CompositeResultData.SectionResultData subSection = section.addSection();
- Set<String> attributes = new TreeSet<>(attrMap.keySet());
- subSection.setHeader("");
-
- for (String attribute : attributes) {
- String attributeValue = attrMap.get(attribute);
- subSection.addData(attribute, attributeValue);
- }
- }
- }
}
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeRegionCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeRegionCommand.java
index 96dd2fd..d15895f 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeRegionCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/DescribeRegionCommand.java
@@ -134,7 +134,7 @@ public class DescribeRegionCommand extends InternalGfshCommand {
StringUtils.join(regionDescription.getHostingMembers(), '\n'));
regionSection.addSeparator('.');
- TabularResultData commonNonDefaultAttrTable = regionSection.addSection().addTable();
+ TabularResultData commonNonDefaultAttrTable = regionSection.addTable();
commonNonDefaultAttrTable.setHeader(CliStrings
.format(CliStrings.DESCRIBE_REGION__NONDEFAULT__COMMONATTRIBUTES__HEADER, memberType));
@@ -159,7 +159,7 @@ public class DescribeRegionCommand extends InternalGfshCommand {
regionDescription.getRegionDescriptionPerMemberMap();
Set<String> members = regDescPerMemberMap.keySet();
- TabularResultData table = regionSection.addSection().addTable();
+ TabularResultData table = regionSection.addTable();
boolean setHeader = false;
for (String member : members) {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CompositeResultData.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CompositeResultData.java
index 993406f..b947621 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CompositeResultData.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/result/CompositeResultData.java
@@ -88,16 +88,6 @@ public class CompositeResultData extends AbstractResultData {
return new SectionResultData(sectionData);
}
- public CompositeResultData addSeparator(char buildSeparatorFrom) {
- try {
- contentObject.put(SEPARATOR, buildSeparatorFrom);
- } catch (GfJsonException e) {
- throw new ResultDataException(e.getMessage());
- }
-
- return this;
- }
-
public SectionResultData retrieveSectionByIndex(int index) {
SectionResultData sectionToRetrieve = null;
int i = 0;
@@ -132,7 +122,6 @@ public class CompositeResultData extends AbstractResultData {
public static class SectionResultData {
protected GfJsonObject sectionGfJsonObject;
- private int subsectionCount = 0;
private int tablesCount = 0;
SectionResultData() {
@@ -194,21 +183,6 @@ public class CompositeResultData extends AbstractResultData {
return this;
}
- public SectionResultData addSection() {
- return addSection(String.valueOf(subsectionCount));
- }
-
- public SectionResultData addSection(String keyToAccess) {
- GfJsonObject sectionData = new GfJsonObject();
- try {
- sectionGfJsonObject.putAsJSONObject(generateSectionKey(keyToAccess), sectionData);
- } catch (GfJsonException e) {
- throw new ResultDataException(e.getMessage());
- }
- subsectionCount++;
- return new SectionResultData(sectionData);
- }
-
public TabularResultData addTable() {
return addTable(String.valueOf(tablesCount));
}
@@ -225,33 +199,6 @@ public class CompositeResultData extends AbstractResultData {
return tabularResultData;
}
- public SectionResultData retrieveSectionByIndex(int index) {
- SectionResultData sectionToRetrieve = null;
- int i = 0;
- for (Iterator<String> iterator = sectionGfJsonObject.keys(); iterator.hasNext();) {
- String key = iterator.next();
- if (key.startsWith(CompositeResultData.SECTION_DATA_ACCESSOR)) {
- if (i == index) {
- sectionToRetrieve = new SectionResultData(sectionGfJsonObject.getJSONObject(key));
- break;
- }
- i++;
- }
- }
-
- return sectionToRetrieve;
- }
-
- public SectionResultData retrieveSection(String keyToRetrieve) {
- SectionResultData sectionToRetrieve = null;
- if (sectionGfJsonObject.has(generateSectionKey(keyToRetrieve))) {
- GfJsonObject sectionData =
- sectionGfJsonObject.getJSONObject(generateSectionKey(keyToRetrieve));
- sectionToRetrieve = new SectionResultData(sectionData);
- }
- return sectionToRetrieve;
- }
-
public TabularResultData retrieveTableByIndex(int index) {
TabularResultData tabularResultData = null;
int i = 0;
@@ -292,22 +239,6 @@ public class CompositeResultData extends AbstractResultData {
return sectionGfJsonObject.getString(name);
}
- public String[] retrieveStringArray(String name) {
- String[] stringArray;
- Object retrievedObject = sectionGfJsonObject.get(name);
-
- if (retrievedObject instanceof GfJsonArray) {
- stringArray = GfJsonArray.toStringArray(((GfJsonArray) retrievedObject));
- } else {
- try {
- stringArray = GfJsonArray.toStringArray(new GfJsonArray(retrievedObject));
- } catch (GfJsonException e) {
- throw new ResultDataException(e.getMessage());
- }
- }
- return stringArray;
- }
-
public static String generateSectionKey(String keyToRetrieve) {
return SECTION_DATA_ACCESSOR + "-" + keyToRetrieve;
}
@@ -317,48 +248,4 @@ public class CompositeResultData extends AbstractResultData {
}
}
- public static void main(String[] args) {
- CompositeResultData crd = new CompositeResultData();
-
- SectionResultData r1Section = crd.addSection("R1");
- r1Section.addData("Region", "R1").addData("IsPartitioned", false).addData("IsPersistent", true)
- .addData("Disk Store", "DiskStore1").addData("Group", "Group1");
- TabularResultData r1Table = r1Section.addTable("R1Members");
- r1Table.accumulate("Member Id", "host1(3467):12435:12423")
- .accumulate("PrimaryEntryCount", 20000).accumulate("BackupEntryCount", 20000)
- .accumulate("Memory(MB)", "100").accumulate("NumOfCopies", 1);
- r1Table.accumulate("Member Id", "host3(5756):57665:90923")
- .accumulate("PrimaryEntryCount", 25000).accumulate("BackupEntryCount", 10000)
- .accumulate("Memory(MB)", "200").accumulate("NumOfCopies", 1);
-
- SectionResultData r3Section = crd.addSection("R3");
- r3Section.addData("Region", "R3").addData("IsPartitioned", true).addData("IsPersistent", true)
- .addData("Disk Store", "DiskStore2").addData("Group", "Group2")
- .addData("ColocatedWith", "-");
- SectionResultData r3SubSection = r3Section.addSection("R3Config");
- r3SubSection.addData("Configuration", "");
- r3SubSection.addData("Config1", "abcd");
- r3SubSection.addData("Config2", "abcde");
- r3SubSection.addData("Config3", "abcdfg");
- TabularResultData r3Table = r3Section.addTable("R3Members");
- r3Table.accumulate("Member Id", "host1(3467):12435:12423")
- .accumulate("PrimaryEntryCount", 20000).accumulate("BackupEntryCount", 20000)
- .accumulate("Memory(MB)", "100").accumulate("NumOfCopies", 1)
- .accumulate("NumOfBuckets", 100);
- r3Table.accumulate("Member Id", "host2(3353):23545:14723")
- .accumulate("PrimaryEntryCount", 20000).accumulate("BackupEntryCount", 20000)
- .accumulate("Memory(MB)", "100").accumulate("NumOfCopies", 1)
- .accumulate("NumOfBuckets", 100);
- r3Table.accumulate("Member Id", "host3(5756):57665:90923")
- .accumulate("PrimaryEntryCount", 25000).accumulate("BackupEntryCount", 10000)
- .accumulate("Memory(MB)", "200").accumulate("NumOfCopies", 1)
- .accumulate("NumOfBuckets", 100);
-
- try {
- System.out.println(crd.getGfJsonObject().toIndentedString(0));
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
}
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionDUnitTest.java
index 99ac56c..e7234fb 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionDUnitTest.java
@@ -170,16 +170,16 @@ public class DescribeRegionDUnitTest {
CommandResult result = gfsh.executeAndAssertThat("describe region --name=" + PR1)
.statusIsSuccess().getCommandResult();
- List<String> names = result.getColumnFromTableContent("Name", 0, 0, 0);
+ List<String> names = result.getColumnFromTableContent("Name", 0, 0);
assertThat(names).containsOnlyOnce(RegionAttributesNames.ENTRY_IDLE_TIME_CUSTOM_EXPIRY);
- List<String> values = result.getColumnFromTableContent("Value", 0, 0, 0);
+ List<String> values = result.getColumnFromTableContent("Value", 0, 0);
assertThat(values).containsOnlyOnce(TestCustomIdleExpiry.class.getName());
- names = result.getColumnFromTableContent("Name", 0, 1, 0);
+ names = result.getColumnFromTableContent("Name", 0, 1);
assertThat(names).containsOnlyOnce(RegionAttributesNames.ENTRY_TIME_TO_LIVE_CUSTOM_EXPIRY);
- values = result.getColumnFromTableContent("Value", 0, 1, 0);
+ values = result.getColumnFromTableContent("Value", 0, 1);
assertThat(values).containsOnlyOnce(TestCustomTTLExpiry.class.getName());
}
@@ -215,8 +215,7 @@ public class DescribeRegionDUnitTest {
gfsh.executeAndAssertThat(command).statusIsSuccess().getCommandResult();
Map<String, String> hostingMembers = commandResult.getMapFromSection("1");
- Map<String, List<String>> hostingMembersTable =
- commandResult.getMapFromTableContent("1", "0", "0");
+ Map<String, List<String>> hostingMembersTable = commandResult.getMapFromTableContent("1", "0");
assertThat(hostingMembers.get("Name")).isEqualTo(HOSTING_AND_ACCESSOR_REGION_NAME);
assertThat(hostingMembers.get("Data Policy")).isEqualTo("partition");
@@ -227,8 +226,7 @@ public class DescribeRegionDUnitTest {
assertThat(hostingMembersTable.get("Value")).contains("PARTITION", "0");
Map<String, String> accessorMembers = commandResult.getMapFromSection("0");
- Map<String, List<String>> accessorMembersTable =
- commandResult.getMapFromTableContent("0", "0", "0");
+ Map<String, List<String>> accessorMembersTable = commandResult.getMapFromTableContent("0", "0");
assertThat(accessorMembers.get("Name")).isEqualTo(HOSTING_AND_ACCESSOR_REGION_NAME);
assertThat(accessorMembers.get("Data Policy")).isEqualTo("partition");
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionJUnitTest.java
index 7fb985a..af19532 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DescribeRegionJUnitTest.java
@@ -103,9 +103,9 @@ public class DescribeRegionJUnitTest {
.doesNotContainOutput("Non-Default Attributes Specific To");
Map<String, List<String>> shared =
- commandAssert.getCommandResult().getMapFromTableContent(0, 0, 0);
+ commandAssert.getCommandResult().getMapFromTableContent(0, 0);
Map<String, List<String>> memberSpecific =
- commandAssert.getCommandResult().getMapFromTableContent(0, 1, 0);
+ commandAssert.getCommandResult().getMapFromTableContent(0, 1);
assertThat(shared.get("Name")).contains("regKey", "evictKey", "partKey");
assertThat(shared.get("Value")).contains("regVal", "evictVal", "partVal");
@@ -134,9 +134,9 @@ public class DescribeRegionJUnitTest {
.doesNotContainOutput("Non-Default Attributes Specific To");
Map<String, List<String>> shared =
- commandAssert.getCommandResult().getMapFromTableContent(0, 0, 0);
+ commandAssert.getCommandResult().getMapFromTableContent(0, 0);
Map<String, List<String>> memberSpecific =
- commandAssert.getCommandResult().getMapFromTableContent(0, 1, 0);
+ commandAssert.getCommandResult().getMapFromTableContent(0, 1);
assertThat(shared.get("Name")).contains("regKey", "evictKey", "partKey");
assertThat(shared.get("Value")).contains("regVal", "evictVal", "partVal");
@@ -172,9 +172,9 @@ public class DescribeRegionJUnitTest {
gfsh.executeAndAssertThat(command, COMMAND + " --name=" + regionName).statusIsSuccess();
Map<String, List<String>> shared =
- commandAssert.getCommandResult().getMapFromTableContent(0, 0, 0);
+ commandAssert.getCommandResult().getMapFromTableContent(0, 0);
Map<String, List<String>> memberSpecific =
- commandAssert.getCommandResult().getMapFromTableContent(0, 1, 0);
+ commandAssert.getCommandResult().getMapFromTableContent(0, 1);
assertThat(shared.get("Type")).containsExactly("Eviction");
assertThat(shared.get("Name")).containsExactly("sharedEvictionKey");
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
index b1f6a99..45f3aa6 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
@@ -35,7 +35,9 @@ import org.apache.geode.cache.Region;
import org.apache.geode.distributed.Locator;
import org.apache.geode.distributed.internal.InternalClusterConfigurationService;
import org.apache.geode.distributed.internal.InternalLocator;
+import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.internal.cache.SnapshotTestUtil;
+import org.apache.geode.management.internal.cli.result.CommandResult;
import org.apache.geode.test.dunit.rules.ClusterStartupRule;
import org.apache.geode.test.dunit.rules.MemberVM;
import org.apache.geode.test.junit.categories.DistributedTest;
@@ -60,7 +62,8 @@ public class DiskStoreCommandsDUnitTest {
public TemporaryFolder tempDir = new TemporaryFolder();
private void createDiskStoreAndRegion(MemberVM jmxManager, int serverCount) {
- gfsh.executeAndAssertThat(String.format("create disk-store --name=%s --dir=%s --group=%s",
+ gfsh.executeAndAssertThat(String.format(
+ "create disk-store --name=%s --dir=%s --group=%s --auto-compact=false --compaction-threshold=99 --max-oplog-size=1 --allow-force-compaction=true",
DISKSTORE, DISKSTORE, GROUP));
List<String> diskStores =
@@ -283,4 +286,38 @@ public class DiskStoreCommandsDUnitTest {
gfsh.executeAndAssertThat(String.format("destroy disk-store --name=%s --if-exists", DISKSTORE))
.statusIsSuccess();
}
+
+ @Test
+ public void testCompactDiskStore() throws Exception {
+ Properties props = new Properties();
+ props.setProperty("groups", GROUP);
+
+ MemberVM locator = rule.startLocatorVM(0);
+ MemberVM server1 = rule.startServerVM(1, props, locator.getPort());
+ rule.startServerVM(2, props, locator.getPort());
+
+ gfsh.connectAndVerify(locator);
+
+ createDiskStoreAndRegion(locator, 2);
+
+ server1.invoke(() -> {
+ InternalCache cache = ClusterStartupRule.getCache();
+ Region r = cache.getRegion(REGION_1);
+ // Make sure we have more than 1 log and there is something to compact
+ for (int i = 0; i < 10000; i++) {
+ r.put(i, "value_" + i);
+ r.put(i, "another_value_" + i);
+ }
+ });
+
+ gfsh.executeAndAssertThat(
+ String.format("compact disk-store --name=%s --group=%s", DISKSTORE, GROUP))
+ .statusIsSuccess();
+
+ CommandResult cmdResult = gfsh.getCommandResult();
+ assertThat(cmdResult.getMapFromSection("server-1").keySet()).contains("UUID", "Host",
+ "Directory");
+ assertThat(cmdResult.getMapFromSection("server-2").keySet()).contains("UUID", "Host",
+ "Directory");
+ }
}
--
To stop receiving notification emails like this one, please contact
jensdeppe@apache.org.