[43/50] [abbrv] incubator-geode git commit: GEODE-288: move admin packages to internal
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/b6c305f8/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthEvaluator.java -- diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthEvaluator.java b/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthEvaluator.java deleted file mode 100644 index a352616..000 --- a/geode-core/src/main/java/org/apache/geode/admin/internal/DistributedSystemHealthEvaluator.java +++ /dev/null @@ -1,167 +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.geode.admin.internal; - -import org.apache.geode.admin.DistributedSystemHealthConfig; -import org.apache.geode.distributed.internal.DM; -import org.apache.geode.distributed.internal.DistributionConfig; -import org.apache.geode.distributed.internal.DistributionManager; -import org.apache.geode.distributed.internal.MembershipListener; -import org.apache.geode.distributed.internal.membership.InternalDistributedMember; -import org.apache.geode.internal.i18n.LocalizedStrings; - -import java.util.List; -import java.util.Set; - -/** - * Contains the logic for evaluating the health of an entire GemFire distributed system according to - * the thresholds provided in a {@link DistributedSystemHealthConfig}. - * - * - * - * Note that unlike other evaluators, the DistributedSystemHealthEvaluator resides in - * the "administrator" VM and not in the member VMs. This is because there only needs to be one - * DistributedSystemHealthEvaluator per distributed system. - * - * - * @since GemFire 3.5 - */ -class DistributedSystemHealthEvaluator extends AbstractHealthEvaluator -implements MembershipListener { - - /** The config from which we get the evaluation criteria */ - private DistributedSystemHealthConfig config; - - /** - * The distribution manager with which this MembershipListener is registered - */ - private DM dm; - - /** The description of the distributed system being evaluated */ - private String description; - - /** - * The number of application members that have unexpectedly left since the previous evaluation - */ - private int crashedApplications; - - /// Constructors /// - - /** - * Creates a new DistributedSystemHealthEvaluator - */ - DistributedSystemHealthEvaluator(DistributedSystemHealthConfig config, DM dm) { -super(null, dm); - -this.config = config; -this.dm = dm; -this.dm.addMembershipListener(this); - -StringBuffer sb = new StringBuffer(); -sb.append("Distributed System "); - -String desc = null; -if (dm instanceof DistributionManager) { - desc = ((DistributionManager) dm).getDistributionConfigDescription(); -} - -if (desc != null) { - sb.append(desc); - -} else { - DistributionConfig dsc = dm.getSystem().getConfig(); - String locators = dsc.getLocators(); - if (locators == null || locators.equals("")) { -sb.append("using multicast "); -sb.append(dsc.getMcastAddress()); -sb.append(":"); -sb.append(dsc.getMcastPort()); - - } else { -sb.append("using locators "); -sb.append(locators); - } -} - -this.description = sb.toString(); - } - - Instance Methods - - @Override - protected String getDescription() { -return this.description; - } - - /** - * Checks to make sure that the number of application members of the distributed system that have - * left unexpected since the last evaluation is less than the - * {@linkplain DistributedSystemHealthConfig#getMaxDepartedApplications threshold}. If not, the - * status is "poor" health. - */ - void checkDepartedApplications(List status) { -synchronized (this) { - long threshold = this.config.getMaxDepartedApplications(); - if (this.crashedApplications > threshold) { -String s = - LocalizedStrings.DistributedSystemHealth_THE_NUMBER_OF_APPLICATIONS_THAT_HAVE_LEFT_THE_DISTRIBUTED_SYSTEM_0_EXCEEDS_THE_THRESHOLD_1 -
[43/50] [abbrv] incubator-geode git commit: GEODE-288: move admin packages to internal
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/6bb27bf1/geode-core/src/main/java/org/apache/geode/admin/internal/GemFireHealthImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/GemFireHealthImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/GemFireHealthImpl.java deleted file mode 100644 index efeee66..000 --- a/geode-core/src/main/java/org/apache/geode/admin/internal/GemFireHealthImpl.java +++ /dev/null @@ -1,511 +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.geode.admin.internal; - -import org.apache.geode.CancelException; -import org.apache.geode.admin.*; -import org.apache.geode.internal.Assert; -import org.apache.geode.internal.admin.*; -import org.apache.geode.internal.i18n.LocalizedStrings; - -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.util.*; - -/** - * Provides the implementation of the GemFireHealth administration API. This class is - * responsible for {@linkplain GemFireVM#addHealthListener sending} the {@link GemFireHealthConfig}s - * to the remote member VM in which the health is calcualted. - * - * - * @since GemFire 3.5 - */ -public class GemFireHealthImpl implements GemFireHealth, JoinLeaveListener, HealthListener { - - /** The distributed system whose health is being monitored */ - private final GfManagerAgent agent; - - /** The default configuration for checking GemFire health */ - protected GemFireHealthConfig defaultConfig; - - /** - * Maps the name of a host to its GemFireHealthConfig. Note that the mappings are - * created lazily. - */ - private final Map hostConfigs; - - /** - * Maps the name of a host to all of the members (GemFireVMs) that run on that host. - */ - private final Map hostMembers; - - /** The members that are known to be in {@link #OKAY_HEALTH}. */ - private Collection okayHealth; - - /** The members that are known to be in {@link #POOR_HEALTH}. */ - private Collection poorHealth; - - /** The overall health of GemFire */ - private GemFireHealth.Health overallHealth; - - /** Is this GemFireHealthImpl closed? */ - private boolean isClosed; - - /** - * The configuration specifying how the health of the distributed system should be computed. - */ - protected volatile DistributedSystemHealthConfig dsHealthConfig; - - /** Monitors the health of the entire distributed system */ - private DistributedSystemHealthMonitor dsHealthMonitor = null; - - /** - * The distributed system whose health is monitored by this GemFireHealth. - */ - private final AdminDistributedSystem system; - - - /// Constructors /// - - /** - * Creates a new GemFireHealthImpl that monitors the health of member of the given - * distributed system. - */ - protected GemFireHealthImpl(GfManagerAgent agent, AdminDistributedSystem system) { -// agent.getDM().getLogger().info("Creating GemFireHealthImpl", -// new Exception("Stack trace")); - -this.agent = agent; -this.system = system; - -this.hostConfigs = new HashMap(); -this.hostMembers = new HashMap(); -this.okayHealth = new HashSet(); -this.poorHealth = new HashSet(); -this.overallHealth = GOOD_HEALTH; -this.isClosed = false; - -GemFireVM[] apps = this.agent.listApplications(); -for (int i = 0; i < apps.length; i++) { - GemFireVM member = apps[i]; - this.noteNewMember(member); -} - -agent.addJoinLeaveListener(this); -setDefaultGemFireHealthConfig(createGemFireHealthConfig(null)); -setDistributedSystemHealthConfig(createDistributedSystemHealthConfig()); - } - - @Override - public String toString() { -StringBuffer sb = new StringBuffer(); -sb.append("closed=" + isClosed); -sb.append("; hostMembers=" + hostMembers); -sb.append("; okayHealth=" + okayHealth); -sb.append("; poorHealth=" + poorHealth); -sb.append("; overallHealth=" + overallHealth); -sb.append("; diagnosis=" + getDiagnosis()); -return sb.toString(); - } - // Instance Methods // - - /** - * Returns the
[43/50] [abbrv] incubator-geode git commit: GEODE-288: move admin packages to internal
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/20a32286/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedSystemMemberImpl.java -- diff --git a/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedSystemMemberImpl.java b/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedSystemMemberImpl.java deleted file mode 100644 index 02e7ae4..000 --- a/geode-core/src/main/java/org/apache/geode/admin/internal/ManagedSystemMemberImpl.java +++ /dev/null @@ -1,258 +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.geode.admin.internal; - -import org.apache.geode.admin.AdminException; -import org.apache.geode.admin.ConfigurationParameter; -import org.apache.geode.admin.ManagedEntityConfig; -import org.apache.geode.internal.admin.GemFireVM; - -import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS; - -/** - * A SystemMember that is also managed (or manageable) by the admin API. - * - * This class must be public so that its methods can be invoked reflectively (for MBean operations) - * on instances of its subclasses. - * - * @since GemFire 4.0 - */ -public abstract class ManagedSystemMemberImpl extends SystemMemberImpl -implements InternalManagedEntity { - - /** Controller for starting and stopping local or remote managers */ - protected ManagedEntityController controller; - - /** The state of this managed entity (see bug 32455) */ - private int state = UNKNOWN; - - /** A lock that is obtained while this entity's state changes */ - private final Object stateChange = new Object(); - - // Constructors // - - /** - * Creates a new ManagedSystemMemberImpl that represents an existing member of an - * AdminDistributedSystem. - */ - protected ManagedSystemMemberImpl(AdminDistributedSystemImpl system, GemFireVM vm) - throws AdminException { - -super(system, vm); -this.controller = system.getEntityController(); - } - - /** - * Creates a new ManagedSystemMemberImpl that represents a non-existing member with - * the given ManagedEntityConfig that has not yet been started. - */ - protected ManagedSystemMemberImpl(AdminDistributedSystemImpl system, ManagedEntityConfig config) - throws AdminException { - -super(system); -this.internalId = null; -this.id = getNewId(); -this.host = config.getHost(); -this.name = this.id; -this.controller = system.getEntityController(); - } - - // Instance Methods // - - public String getWorkingDirectory() { -return this.getEntityConfig().getWorkingDirectory(); - } - - public void setWorkingDirectory(String workingDirectory) { -this.getEntityConfig().setWorkingDirectory(workingDirectory); - } - - public String getProductDirectory() { -return this.getEntityConfig().getProductDirectory(); - } - - public void setProductDirectory(String productDirectory) { -this.getEntityConfig().setProductDirectory(productDirectory); - } - - @Override - public String getHost() { -return this.getEntityConfig().getHost(); - } - - public int setState(int state) { -if (this.stateChange == null) { - // The initial state is set in the constructor before - // stateChange is initialized. - int oldState = this.state; - this.state = state; - return oldState; - -} else { - synchronized (this.stateChange) { -int oldState = this.state; -this.state = state; - -this.stateChange.notifyAll(); - -return oldState; - } -} - } - - /** - * Returns whether or not this managed system member needs to be stopped. If this member is - * stopped or is stopping, then it does not need to be stopped. Otherwise, it will atomically - * place this member in the {@link #STOPPING} state. See bug 32455. - */ - protected boolean needToStop() { -synchronized (this.stateChange) { - if (this.state == STOPPED || this.state == STOPPING) { -return false; - - } else { -setState(STOPPING); -return true; - } -} - } - - /** - *