AMBARI-21179 - Remove RepositoryVersionState of INIT (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/cd3fb859 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/cd3fb859 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/cd3fb859 Branch: refs/heads/branch-feature-AMBARI-20859 Commit: cd3fb85953c01f8049950f140215de4e2257d139 Parents: 7847e4b Author: Jonathan Hurley <[email protected]> Authored: Mon Jun 5 14:31:43 2017 -0400 Committer: Jonathan Hurley <[email protected]> Committed: Mon Jun 5 14:31:43 2017 -0400 ---------------------------------------------------------------------- .../ServiceComponentDesiredStateEntity.java | 2 +- .../server/state/RepositoryVersionState.java | 31 ++++++++++---------- .../apache/ambari/server/state/ServiceImpl.java | 2 +- .../server/upgrade/UpgradeCatalog300.java | 13 ++++---- .../main/resources/Ambari-DDL-Derby-CREATE.sql | 2 +- .../main/resources/Ambari-DDL-MySQL-CREATE.sql | 2 +- .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 2 +- .../resources/Ambari-DDL-Postgres-CREATE.sql | 2 +- .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 2 +- .../resources/Ambari-DDL-SQLServer-CREATE.sql | 2 +- 10 files changed, 30 insertions(+), 30 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceComponentDesiredStateEntity.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceComponentDesiredStateEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceComponentDesiredStateEntity.java index 84e464e..e0f52c6 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceComponentDesiredStateEntity.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ServiceComponentDesiredStateEntity.java @@ -89,7 +89,7 @@ public class ServiceComponentDesiredStateEntity { @Column(name = "repo_state", nullable = false, insertable = true, updatable = true) @Enumerated(EnumType.STRING) - private RepositoryVersionState repoState = RepositoryVersionState.INIT; + private RepositoryVersionState repoState = RepositoryVersionState.NOT_REQUIRED; /** * Unidirectional one-to-one association to {@link RepositoryVersionEntity} http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryVersionState.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryVersionState.java b/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryVersionState.java index a2e220e..720f307 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryVersionState.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/RepositoryVersionState.java @@ -21,10 +21,13 @@ package org.apache.ambari.server.state; import java.util.List; /** - * There must be exactly one repository version that is in a CURRENT state for a particular cluster or host. - * There may be 0 or more repository versions in an INSTALLED or INSTALLING state. - * The operation to transition a repository version state from INSTALLED into CURRENT must be atomic and change the existing - * relation between repository version and cluster or host from CURRENT to INSTALLED. + * The {@link RepositoryVersionState} represents the state of a repository on a + * particular host. Because hosts can contain a mixture of components from + * different repositories, there can be any combination of + * {@link RepositoryVersionState#CURRENT}} entries for a single host. A host may + * not have multiple entries for the same repository. + * <p/> + * * * <pre> * Step 1: Initial Configuration @@ -43,20 +46,23 @@ import java.util.List; * Version 1: CURRENT * Version 2: INSTALL_FAILED (a retry can set this back to INSTALLING) * - * Step 4: Perform an upgrade from Version 1 to Version 2 + * Step 4: Perform an upgrade of every component on the host from version 1 to version 2 * Version 1: INSTALLED * Version 2: CURRENT * - * Step 4: May revert to the original version via a downgrade, which is technically still an upgrade to a version + * Step 4a: Perform an upgrade of a single component, leaving other components on the prior version + * Version 1: CURRENT + * Version 2: CURRENT + * + * Step 4b: May revert to the original version via a downgrade, which is technically still an upgrade to a version * and eventually becomes * * Version 1: CURRENT * Version 2: INSTALLED * * ********************************************* - * Start states: CURRENT, INSTALLING + * Start states: NOT_REQUIRED, INSTALLING, CURRENT * Allowed Transitions: - * INIT -> CURRENT * INSTALLED -> CURRENT * INSTALLING -> INSTALLED | INSTALL_FAILED | OUT_OF_SYNC * INSTALLED -> INSTALLED | INSTALLING | OUT_OF_SYNC @@ -67,13 +73,6 @@ import java.util.List; */ public enum RepositoryVersionState { /** - * Repository version is initialized, and will transition to current. This is used - * when creating a cluster using a specific version. Transition occurs naturally as - * hosts report CURRENT. - */ - INIT(2), - - /** * Repository version is not required */ NOT_REQUIRED(0), @@ -125,7 +124,7 @@ public enum RepositoryVersionState { */ public static RepositoryVersionState getAggregateState(List<RepositoryVersionState> states) { if (null == states || states.isEmpty()) { - return INIT; + return NOT_REQUIRED; } RepositoryVersionState heaviestState = states.get(0); http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java index fe37a93..ecf19d4 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ServiceImpl.java @@ -348,7 +348,7 @@ public class ServiceImpl implements Service { @Override public RepositoryVersionState getRepositoryState() { if (components.isEmpty()) { - return RepositoryVersionState.INIT; + return RepositoryVersionState.NOT_REQUIRED; } List<RepositoryVersionState> states = new ArrayList<>(); http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java index f068798..9b44c53 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog300.java @@ -182,9 +182,10 @@ public class UpgradeCatalog300 extends AbstractUpgradeCatalog { */ protected void addServiceComponentColumn() throws SQLException { dbAccessor.addColumn(UpgradeCatalog250.COMPONENT_TABLE, - new DBColumnInfo("repo_state", String.class, 255, RepositoryVersionState.INIT.name(), false)); - + new DBColumnInfo("repo_state", String.class, 255, + RepositoryVersionState.NOT_REQUIRED.name(), false)); } + protected void setStatusOfStagesAndRequests() { executeInTransaction(new Runnable() { @Override @@ -336,15 +337,15 @@ public class UpgradeCatalog300 extends AbstractUpgradeCatalog { removeConfigurationPropertiesFromCluster(cluster, configType, removeProperties); } - + Config logSearchProperties = cluster.getDesiredConfigByType("logsearch-properties"); Config logFeederProperties = cluster.getDesiredConfigByType("logfeeder-properties"); if (logSearchProperties != null && logFeederProperties != null) { String defaultLogLevels = logSearchProperties.getProperties().get("logsearch.logfeeder.include.default.level"); - + Set<String> removeProperties = Sets.newHashSet("logsearch.logfeeder.include.default.level"); removeConfigurationPropertiesFromCluster(cluster, "logsearch-properties", removeProperties); - + Map<String, String> newProperties = new HashMap<>(); newProperties.put("logfeeder.include.default.level", defaultLogLevels); updateConfigurationPropertiesForCluster(cluster, "logfeeder-properties", newProperties, true, true); @@ -358,7 +359,7 @@ public class UpgradeCatalog300 extends AbstractUpgradeCatalog { updateConfigurationPropertiesForCluster(cluster, "logfeeder-log4j", Collections.singletonMap("content", content), true, true); } } - + Config logsearchLog4jProperties = cluster.getDesiredConfigByType("logsearch-log4j"); if (logsearchLog4jProperties != null) { String content = logsearchLog4jProperties.getProperties().get("content"); http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql index c5c83ab..e341405 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql @@ -172,7 +172,7 @@ CREATE TABLE servicecomponentdesiredstate ( desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, recovery_enabled SMALLINT NOT NULL DEFAULT 0, - repo_state VARCHAR(255) NOT NULL DEFAULT 'INIT', + repo_state VARCHAR(255) NOT NULL DEFAULT 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql index 230ae10..ce8736e 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql @@ -192,7 +192,7 @@ CREATE TABLE servicecomponentdesiredstate ( desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(100) NOT NULL, recovery_enabled SMALLINT NOT NULL DEFAULT 0, - repo_state VARCHAR(255) NOT NULL DEFAULT 'INIT', + repo_state VARCHAR(255) NOT NULL DEFAULT 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql index 903fc9e..0edbb91 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql @@ -173,7 +173,7 @@ CREATE TABLE servicecomponentdesiredstate ( desired_state VARCHAR2(255) NOT NULL, service_name VARCHAR2(255) NOT NULL, recovery_enabled SMALLINT DEFAULT 0 NOT NULL, - repo_state VARCHAR2(255) DEFAULT 'INIT' NOT NULL, + repo_state VARCHAR2(255) DEFAULT 'NOT_REQUIRED' NOT NULL, CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql index 86fbc04..5899179 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql @@ -171,7 +171,7 @@ CREATE TABLE servicecomponentdesiredstate ( desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, recovery_enabled SMALLINT NOT NULL DEFAULT 0, - repo_state VARCHAR(255) NOT NULL DEFAULT 'INIT', + repo_state VARCHAR(255) NOT NULL DEFAULT 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql index 47ea221..6164b2d 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql @@ -170,7 +170,7 @@ CREATE TABLE servicecomponentdesiredstate ( desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, recovery_enabled SMALLINT NOT NULL DEFAULT 0, - repo_state VARCHAR(255) NOT NULL DEFAULT 'INIT', + repo_state VARCHAR(255) NOT NULL DEFAULT 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), http://git-wip-us.apache.org/repos/asf/ambari/blob/cd3fb859/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql index bbe9068..52d2b87 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql @@ -184,7 +184,7 @@ CREATE TABLE servicecomponentdesiredstate ( desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, recovery_enabled SMALLINT NOT NULL DEFAULT 0, - repo_state VARCHAR(255) NOT NULL DEFAULT 'INIT', + repo_state VARCHAR(255) NOT NULL DEFAULT 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id),
