You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ji...@apache.org on 2018/03/13 22:41:30 UTC
[geode] branch develop updated: GEODE-4527: get rid of static
getAnyInstance or getInstance call to get the cache. (#1596)
This is an automated email from the ASF dual-hosted git repository.
jinmeiliao 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 9223b16 GEODE-4527: get rid of static getAnyInstance or getInstance call to get the cache. (#1596)
9223b16 is described below
commit 9223b16fb97ee0d6cf2d02bd7b290b4e91227364
Author: jinmeiliao <ji...@pivotal.io>
AuthorDate: Tue Mar 13 15:41:27 2018 -0700
GEODE-4527: get rid of static getAnyInstance or getInstance call to get the cache. (#1596)
---
.../cli/commands/ChangeLogLevelCommand.java | 136 ++++++++++-----------
.../internal/cli/commands/QueryCommand.java | 3 +-
.../StatusClusterConfigServiceCommand.java | 3 +-
3 files changed, 68 insertions(+), 74 deletions(-)
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java
index 6bd4fe8..aeeb2da 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/ChangeLogLevelCommand.java
@@ -21,23 +21,22 @@ import java.util.Map;
import java.util.Set;
import org.apache.commons.lang.StringUtils;
+import org.apache.logging.log4j.Logger;
import org.springframework.shell.core.annotation.CliCommand;
import org.springframework.shell.core.annotation.CliOption;
-import org.apache.geode.LogWriter;
import org.apache.geode.cache.execute.Execution;
import org.apache.geode.cache.execute.Function;
import org.apache.geode.cache.execute.FunctionService;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
+import org.apache.geode.internal.logging.LogService;
import org.apache.geode.internal.logging.log4j.LogLevel;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.cli.ConverterHint;
import org.apache.geode.management.cli.Result;
import org.apache.geode.management.internal.cli.AbstractCliAroundInterceptor;
import org.apache.geode.management.internal.cli.GfshParseResult;
-import org.apache.geode.management.internal.cli.LogWrapper;
import org.apache.geode.management.internal.cli.functions.ChangeLogLevelFunction;
import org.apache.geode.management.internal.cli.i18n.CliStrings;
import org.apache.geode.management.internal.cli.result.CompositeResultData;
@@ -47,6 +46,8 @@ import org.apache.geode.management.internal.security.ResourceOperation;
import org.apache.geode.security.ResourcePermission;
public class ChangeLogLevelCommand extends GfshCommand {
+ private static Logger logger = LogService.getLogger();
+
@CliCommand(value = CliStrings.CHANGE_LOGLEVEL, help = CliStrings.CHANGE_LOGLEVEL__HELP)
@CliMetaData(relatedTopic = {CliStrings.TOPIC_LOGS},
interceptor = "org.apache.geode.management.internal.cli.commands.ChangeLogLevelCommand$ChangeLogLevelCommandInterceptor")
@@ -60,91 +61,86 @@ public class ChangeLogLevelCommand extends GfshCommand {
@CliOption(key = CliStrings.CHANGE_LOGLEVEL__LOGLEVEL,
optionContext = ConverterHint.LOG_LEVEL, mandatory = true, unspecifiedDefaultValue = "",
help = CliStrings.CHANGE_LOGLEVEL__LOGLEVEL__HELP) String logLevel) {
- try {
- if ((memberIds == null || memberIds.length == 0) && (grps == null || grps.length == 0)) {
- return ResultBuilder
- .createUserErrorResult(CliStrings.CHANGE_LOGLEVEL__MSG__SPECIFY_GRP_OR_MEMBER);
- }
- InternalCache cache = getCache();
- LogWriter logger = cache.getLogger();
+ if ((memberIds == null || memberIds.length == 0) && (grps == null || grps.length == 0)) {
+ return ResultBuilder
+ .createUserErrorResult(CliStrings.CHANGE_LOGLEVEL__MSG__SPECIFY_GRP_OR_MEMBER);
+ }
- Set<DistributedMember> dsMembers = new HashSet<>();
- Set<DistributedMember> ds = getAllMembers();
+ InternalCache cache = getCache();
- if (grps != null && grps.length > 0) {
- for (String grp : grps) {
- dsMembers.addAll(cache.getDistributedSystem().getGroupMembers(grp));
- }
+ Set<DistributedMember> dsMembers = new HashSet<>();
+ Set<DistributedMember> ds = getAllMembers();
+
+ if (grps != null && grps.length > 0) {
+ for (String grp : grps) {
+ dsMembers.addAll(cache.getDistributedSystem().getGroupMembers(grp));
}
+ }
- if (memberIds != null && memberIds.length > 0) {
- for (String member : memberIds) {
- for (DistributedMember mem : ds) {
- if (mem.getName() != null
- && (mem.getName().equals(member) || mem.getId().equals(member))) {
- dsMembers.add(mem);
- break;
- }
+ if (memberIds != null && memberIds.length > 0) {
+ for (String member : memberIds) {
+ for (DistributedMember mem : ds) {
+ if (mem.getName() != null
+ && (mem.getName().equals(member) || mem.getId().equals(member))) {
+ dsMembers.add(mem);
+ break;
}
}
}
+ }
- if (dsMembers.size() == 0) {
- return ResultBuilder.createGemFireErrorResult(
- "No members were found matching the given member IDs or groups.");
- }
-
- Function logFunction = new ChangeLogLevelFunction();
- FunctionService.registerFunction(logFunction);
- Object[] functionArgs = new Object[1];
- functionArgs[0] = logLevel;
+ if (dsMembers.size() == 0) {
+ return ResultBuilder.createGemFireErrorResult(
+ "No members were found matching the given member IDs or groups.");
+ }
- CompositeResultData compositeResultData = ResultBuilder.createCompositeResultData();
- CompositeResultData.SectionResultData section = compositeResultData.addSection("section");
- TabularResultData resultTable = section.addTable("ChangeLogLevel");
- resultTable = resultTable.setHeader("Summary");
+ Function logFunction = new ChangeLogLevelFunction();
+ FunctionService.registerFunction(logFunction);
+ Object[] functionArgs = new Object[1];
+ functionArgs[0] = logLevel;
- Execution execution = FunctionService.onMembers(dsMembers).setArguments(functionArgs);
- if (execution == null) {
- return ResultBuilder.createUserErrorResult(CliStrings.CHANGE_LOGLEVEL__MSG__CANNOT_EXECUTE);
- }
- List<?> resultList = (List<?>) execution.execute(logFunction).getResult();
-
- for (Object object : resultList) {
- try {
- if (object instanceof Throwable) {
- logger.warning(
- "Exception in ChangeLogLevelFunction " + ((Throwable) object).getMessage(),
- ((Throwable) object));
- continue;
- }
+ CompositeResultData compositeResultData = ResultBuilder.createCompositeResultData();
+ CompositeResultData.SectionResultData section = compositeResultData.addSection("section");
+ TabularResultData resultTable = section.addTable("ChangeLogLevel");
+ resultTable = resultTable.setHeader("Summary");
- if (object != null) {
- Map<String, String> resultMap = (Map<String, String>) object;
- Map.Entry<String, String> entry = resultMap.entrySet().iterator().next();
+ Execution execution = FunctionService.onMembers(dsMembers).setArguments(functionArgs);
+ if (execution == null) {
+ return ResultBuilder.createUserErrorResult(CliStrings.CHANGE_LOGLEVEL__MSG__CANNOT_EXECUTE);
+ }
+ List<?> resultList =
+ (List<?>) this.executeFunction(logFunction, functionArgs, dsMembers).getResult();
+ for (Object object : resultList) {
+ try {
+ if (object instanceof Throwable) {
+ logger.warn("Exception in ChangeLogLevelFunction " + ((Throwable) object).getMessage(),
+ ((Throwable) object));
+ continue;
+ }
- if (entry.getValue().contains("ChangeLogLevelFunction exception")) {
- resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_MEMBER, entry.getKey());
- resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_STATUS, "false");
- } else {
- resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_MEMBER, entry.getKey());
- resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_STATUS, "true");
- }
+ if (object != null) {
+ Map<String, String> resultMap = (Map<String, String>) object;
+ Map.Entry<String, String> entry = resultMap.entrySet().iterator().next();
+ if (entry.getValue().contains("ChangeLogLevelFunction exception")) {
+ resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_MEMBER, entry.getKey());
+ resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_STATUS, "false");
+ } else {
+ resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_MEMBER, entry.getKey());
+ resultTable.accumulate(CliStrings.CHANGE_LOGLEVEL__COLUMN_STATUS, "true");
}
- } catch (Exception ex) {
- LogWrapper.getInstance(getCache()).warning("change log level command exception " + ex);
+
}
+ } catch (Exception ex) {
+ logger.warn("change log level command exception " + ex);
}
-
- Result result = ResultBuilder.buildResult(compositeResultData);
- logger.info("change log-level command result=" + result);
- return result;
- } catch (Exception ex) {
- GemFireCacheImpl.getInstance().getLogger().error("GFSH Changeloglevel exception: " + ex);
- return ResultBuilder.createUserErrorResult(ex.getMessage());
}
+
+ Result result = ResultBuilder.buildResult(compositeResultData);
+ logger.info("change log-level command result=" + result);
+ return result;
+
}
public static class ChangeLogLevelCommandInterceptor extends AbstractCliAroundInterceptor {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryCommand.java
index 7576d23..69d6985 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/QueryCommand.java
@@ -27,7 +27,6 @@ import org.apache.shiro.subject.Subject;
import org.springframework.shell.core.annotation.CliCommand;
import org.springframework.shell.core.annotation.CliOption;
-import org.apache.geode.cache.CacheFactory;
import org.apache.geode.cache.execute.FunctionService;
import org.apache.geode.cache.execute.ResultCollector;
import org.apache.geode.cache.query.QueryInvalidException;
@@ -68,7 +67,7 @@ public class QueryCommand extends GfshCommand {
}
private DataCommandResult select(String query) {
- InternalCache cache = (InternalCache) CacheFactory.getAnyInstance();
+ InternalCache cache = getCache();
DataCommandResult dataResult;
if (StringUtils.isEmpty(query)) {
diff --git a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusClusterConfigServiceCommand.java b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusClusterConfigServiceCommand.java
index 59e9ffe..cf4d232 100644
--- a/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusClusterConfigServiceCommand.java
+++ b/geode-core/src/main/java/org/apache/geode/management/internal/cli/commands/StatusClusterConfigServiceCommand.java
@@ -22,7 +22,6 @@ import org.springframework.shell.core.annotation.CliCommand;
import org.apache.geode.cache.execute.ResultCollector;
import org.apache.geode.distributed.DistributedMember;
-import org.apache.geode.internal.cache.GemFireCacheImpl;
import org.apache.geode.internal.cache.InternalCache;
import org.apache.geode.management.cli.CliMetaData;
import org.apache.geode.management.cli.Result;
@@ -47,7 +46,7 @@ public class StatusClusterConfigServiceCommand extends GfshCommand {
@CliMetaData(relatedTopic = CliStrings.TOPIC_GEODE_LOCATOR)
@ResourceOperation(resource = Resource.CLUSTER, operation = Operation.READ)
public Result statusSharedConfiguration() {
- final InternalCache cache = GemFireCacheImpl.getInstance();
+ final InternalCache cache = getCache();
final Set<DistributedMember> locators = new HashSet<>(
cache.getDistributionManager().getAllHostedLocatorsWithSharedConfiguration().keySet());
if (locators.isEmpty()) {
--
To stop receiving notification emails like this one, please contact
jinmeiliao@apache.org.