AMBARI-21450 - Fixing Unit Test Compilation Issues From trunk Merge (jonathanhurley)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/56362fd6 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/56362fd6 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/56362fd6 Branch: refs/heads/branch-feature-AMBARI-21450 Commit: 56362fd64ecd779d1b8827a83f224a824edd5ad4 Parents: 5cdcd07 Author: Jonathan Hurley <[email protected]> Authored: Tue Jul 18 15:34:01 2017 -0400 Committer: Jonathan Hurley <[email protected]> Committed: Wed Jul 19 10:19:13 2017 -0400 ---------------------------------------------------------------------- .../server/controller/ClusterResponse.java | 10 +- .../controller/ResourceProviderFactory.java | 8 +- .../AbstractControllerResourceProvider.java | 4 +- .../internal/ComponentResourceProvider.java | 55 +- .../ambari/server/state/ConfigHelper.java | 16 + .../main/resources/Ambari-DDL-Derby-CREATE.sql | 70 +- .../main/resources/Ambari-DDL-MySQL-CREATE.sql | 71 +- .../main/resources/Ambari-DDL-Oracle-CREATE.sql | 75 +- .../resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 76 +- .../resources/Ambari-DDL-SQLServer-CREATE.sql | 70 +- .../TestActionSchedulerThreading.java | 31 +- .../server/agent/DummyHeartbeatConstants.java | 3 +- .../server/agent/HeartbeatProcessorTest.java | 240 +- .../server/agent/HeartbeatTestHelper.java | 26 +- .../server/agent/TestHeartbeatHandler.java | 203 +- .../server/agent/TestHeartbeatMonitor.java | 49 +- .../resources/BaseResourceDefinitionTest.java | 60 +- .../server/api/services/AmbariMetaInfoTest.java | 235 +- .../checks/AbstractCheckDescriptorTest.java | 27 +- ...duce2JobHistoryStatePreservingCheckTest.java | 38 +- .../server/checks/RangerAuditDbCheckTest.java | 8 +- .../configuration/RecoveryConfigHelperTest.java | 51 +- .../AmbariCustomCommandExecutionHelperTest.java | 6 +- .../AmbariManagementControllerImplTest.java | 382 ++-- .../AmbariManagementControllerTest.java | 2108 ++++++------------ .../BackgroundCustomCommandExecutionTest.java | 36 +- .../server/controller/ClusterResponseTest.java | 8 +- .../server/controller/KerberosHelperTest.java | 477 ++-- ...hYarnCapacitySchedulerReleaseConfigTest.java | 86 +- .../AbstractControllerResourceProviderTest.java | 51 +- .../internal/AbstractResourceProviderTest.java | 73 +- .../ClientConfigResourceProviderTest.java | 12 +- ...leRepositoryVersionResourceProviderTest.java | 11 +- .../internal/ComponentResourceProviderTest.java | 225 +- .../HostComponentResourceProviderTest.java | 87 +- .../internal/JMXHostProviderTest.java | 72 +- ...ootServiceComponentResourceProviderTest.java | 35 +- ...erviceHostComponentResourceProviderTest.java | 26 +- .../internal/ScaleClusterRequestTest.java | 74 +- .../internal/ServiceResourceProviderTest.java | 2 +- .../StackDefinedPropertyProviderTest.java | 48 +- .../StackUpgradeConfigurationMergeTest.java | 263 +-- .../UpgradeResourceProviderHDP22Test.java | 324 --- .../internal/UpgradeResourceProviderTest.java | 2 +- .../UpgradeSummaryResourceProviderTest.java | 29 +- .../GeneralServiceCalculatedStateTest.java | 15 +- .../apache/ambari/server/events/EventsTest.java | 29 +- .../apache/ambari/server/orm/OrmTestHelper.java | 104 +- .../orm/dao/RepositoryVersionDAOTest.java | 41 +- .../ambari/server/orm/dao/UpgradeDAOTest.java | 20 +- .../UpdateKerberosConfigsServerActionTest.java | 19 +- .../upgrades/ConfigureActionTest.java | 706 +++--- .../upgrades/UpgradeActionTest.java | 686 ++---- .../ambari/server/state/CheckHelperTest.java | 15 +- .../ambari/server/state/ConfigHelperTest.java | 65 +- .../server/state/ServiceComponentTest.java | 346 ++- .../apache/ambari/server/state/ServiceTest.java | 84 +- .../state/alerts/AlertEventPublisherTest.java | 21 +- .../state/alerts/InitialAlertEventTest.java | 23 +- .../state/cluster/ClusterDeadlockTest.java | 35 +- .../cluster/ClusterEffectiveVersionTest.java | 326 --- .../server/state/cluster/ClusterImplTest.java | 47 +- .../server/state/cluster/ClusterTest.java | 1167 +++------- .../state/cluster/ClustersDeadlockTest.java | 26 +- .../server/state/cluster/ClustersTest.java | 65 +- .../ConcurrentServiceConfigVersionTest.java | 23 +- ...omponentHostConcurrentWriteDeadlockTest.java | 39 +- .../ambari/server/state/host/HostTest.java | 28 +- .../svccomphost/ServiceComponentHostTest.java | 95 +- .../server/topology/TopologyManagerTest.java | 25 +- .../server/upgrade/UpgradeCatalogHelper.java | 39 +- .../server/upgrade/UpgradeCatalogTest.java | 42 +- .../ambari/server/utils/StageUtilsTest.java | 65 +- 73 files changed, 3636 insertions(+), 6423 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterResponse.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterResponse.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterResponse.java index e19f8f6..c7577ee 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterResponse.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ClusterResponse.java @@ -19,15 +19,13 @@ package org.apache.ambari.server.controller; import java.util.Collection; -import java.util.List; import java.util.Map; import java.util.Set; -import com.google.common.collect.Multimap; +import org.apache.ambari.server.state.ClusterHealthReport; import org.apache.ambari.server.state.DesiredConfig; import org.apache.ambari.server.state.SecurityType; import org.apache.ambari.server.state.State; -import org.apache.ambari.server.state.ClusterHealthReport; public class ClusterResponse { @@ -84,7 +82,7 @@ public class ClusterResponse { /** * @return the clusterId */ - public Long getClusterId() { + public long getClusterId() { return clusterId; } @@ -215,7 +213,7 @@ public class ClusterResponse { /** * @return total number of hosts in the cluster */ - public Integer getTotalHosts() { + public int getTotalHosts() { return totalHosts; } @@ -235,7 +233,7 @@ public class ClusterResponse { } public void setCredentialStoreServiceProperties(Map<String, String> credentialServiceProperties) { - this.credentialStoreServiceProperties = credentialServiceProperties; + credentialStoreServiceProperties = credentialServiceProperties; } public Map<String, String> getCredentialStoreServiceProperties() { http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java index fb8742b..9f9eaee 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/ResourceProviderFactory.java @@ -1,4 +1,4 @@ -/** +/* * 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 @@ -44,9 +44,7 @@ public interface ResourceProviderFactory { ResourceProvider getServiceResourceProvider(AmbariManagementController managementController); @Named("component") - ResourceProvider getComponentResourceProvider(Set<String> propertyIds, - Map<Type, String> keyPropertyIds, - AmbariManagementController managementController); + ResourceProvider getComponentResourceProvider(AmbariManagementController managementController); @Named("member") ResourceProvider getMemberResourceProvider(Set<String> propertyIds, @@ -70,4 +68,4 @@ public interface ResourceProviderFactory { @Named("upgrade") UpgradeResourceProvider getUpgradeResourceProvider(AmbariManagementController managementController); -} +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java index a9d234d..77e6250 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractControllerResourceProvider.java @@ -57,7 +57,7 @@ public abstract class AbstractControllerResourceProvider extends AbstractAuthori super(propertyIds, keyPropertyIds); this.managementController = managementController; } - + /** * Create a new resource provider for the given management controller. This * constructor will initialize the specified {@link Resource.Type} with the @@ -155,7 +155,7 @@ public abstract class AbstractControllerResourceProvider extends AbstractAuthori case Service: return resourceProviderFactory.getServiceResourceProvider(managementController); case Component: - return resourceProviderFactory.getComponentResourceProvider(propertyIds, keyPropertyIds, managementController); + return resourceProviderFactory.getComponentResourceProvider(managementController); case Host: return resourceProviderFactory.getHostResourceProvider(propertyIds, keyPropertyIds, managementController); case HostComponent: http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java index b35903b..9137799 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/ComponentResourceProvider.java @@ -18,7 +18,6 @@ package org.apache.ambari.server.controller.internal; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collection; import java.util.EnumSet; import java.util.HashMap; @@ -64,6 +63,7 @@ import org.apache.ambari.server.state.State; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.Validate; +import com.google.common.collect.Sets; import com.google.inject.assistedinject.Assisted; import com.google.inject.assistedinject.AssistedInject; import com.google.inject.persist.Transactional; @@ -98,11 +98,46 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide //Parameters from the predicate private static final String QUERY_PARAMETERS_RUN_SMOKE_TEST_ID = "params/run_smoke_test"; - private static Set<String> pkPropertyIds = - new HashSet<>(Arrays.asList(new String[]{ - COMPONENT_CLUSTER_NAME_PROPERTY_ID, - COMPONENT_SERVICE_NAME_PROPERTY_ID, - COMPONENT_COMPONENT_NAME_PROPERTY_ID})); + private static Set<String> pkPropertyIds = Sets.newHashSet(COMPONENT_CLUSTER_NAME_PROPERTY_ID, + COMPONENT_SERVICE_NAME_PROPERTY_ID, COMPONENT_COMPONENT_NAME_PROPERTY_ID); + + /** + * The property ids for an servce resource. + */ + private static final Set<String> PROPERTY_IDS = new HashSet<>(); + + /** + * The key property ids for an service resource. + */ + private static final Map<Resource.Type, String> KEY_PROPERTY_IDS = new HashMap<>(); + + static { + // properties + PROPERTY_IDS.add(COMPONENT_CLUSTER_NAME_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_SERVICE_NAME_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_COMPONENT_NAME_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_DISPLAY_NAME_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_STATE_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_CATEGORY_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_TOTAL_COUNT_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_STARTED_COUNT_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_INSTALLED_COUNT_PROPERTY_ID); + + PROPERTY_IDS.add(COMPONENT_INIT_COUNT_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_UNKNOWN_COUNT_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_INSTALL_FAILED_COUNT_PROPERTY_ID); + PROPERTY_IDS.add(COMPONENT_RECOVERY_ENABLED_ID); + PROPERTY_IDS.add(COMPONENT_DESIRED_STACK); + PROPERTY_IDS.add(COMPONENT_DESIRED_VERSION); + PROPERTY_IDS.add(COMPONENT_REPOSITORY_STATE); + + PROPERTY_IDS.add(QUERY_PARAMETERS_RUN_SMOKE_TEST_ID); + + // keys + KEY_PROPERTY_IDS.put(Resource.Type.Component, COMPONENT_COMPONENT_NAME_PROPERTY_ID); + KEY_PROPERTY_IDS.put(Resource.Type.Service, COMPONENT_SERVICE_NAME_PROPERTY_ID); + KEY_PROPERTY_IDS.put(Resource.Type.Cluster, COMPONENT_CLUSTER_NAME_PROPERTY_ID); + } private MaintenanceStateHelper maintenanceStateHelper; @@ -116,11 +151,9 @@ public class ComponentResourceProvider extends AbstractControllerResourceProvide * @param managementController the management controller */ @AssistedInject - ComponentResourceProvider(@Assisted Set<String> propertyIds, - @Assisted Map<Resource.Type, String> keyPropertyIds, - @Assisted AmbariManagementController managementController, - MaintenanceStateHelper maintenanceStateHelper) { - super(propertyIds, keyPropertyIds, managementController); + ComponentResourceProvider(@Assisted AmbariManagementController managementController, + MaintenanceStateHelper maintenanceStateHelper) { + super(Resource.Type.Component, PROPERTY_IDS, KEY_PROPERTY_IDS, managementController); this.maintenanceStateHelper = maintenanceStateHelper; setRequiredCreateAuthorizations(EnumSet.of(RoleAuthorization.SERVICE_ADD_DELETE_SERVICES, RoleAuthorization.HOST_ADD_DELETE_COMPONENTS)); http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java index e178b92..cd717c5 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/state/ConfigHelper.java @@ -219,6 +219,22 @@ public class ConfigHelper { return resolved; } + + public Set<String> filterInvalidPropertyValues(Map<PropertyInfo, String> properties, String filteredListName) { + Set<String> resultSet = new HashSet<>(); + for (Iterator<Entry<PropertyInfo, String>> iterator = properties.entrySet().iterator(); iterator.hasNext();) { + Entry<PropertyInfo, String> property = iterator.next(); + PropertyInfo propertyInfo = property.getKey(); + String propertyValue = property.getValue(); + if (property == null || propertyValue == null || propertyValue.toLowerCase().equals("null") || propertyValue.isEmpty()) { + LOG.error(String.format("Excluding property %s from %s, because of invalid or empty value!", propertyInfo.getName(), filteredListName)); + iterator.remove(); + } else { + resultSet.add(propertyValue); + } + } + return resultSet; + } /** * Get all config properties for a cluster given a set of configType to http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/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 54e7039..e27430a 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql @@ -72,26 +72,18 @@ CREATE TABLE clusterconfig ( type_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, stack_id BIGINT NOT NULL, + selected SMALLINT NOT NULL DEFAULT 0, config_data VARCHAR(3000) NOT NULL, config_attributes VARCHAR(3000), create_timestamp BIGINT NOT NULL, service_deleted SMALLINT NOT NULL DEFAULT 0, + selected_timestamp BIGINT NOT NULL DEFAULT 0, CONSTRAINT PK_clusterconfig PRIMARY KEY (config_id), CONSTRAINT FK_clusterconfig_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), CONSTRAINT FK_clusterconfig_stack_id FOREIGN KEY (stack_id) REFERENCES stack(stack_id), CONSTRAINT UQ_config_type_tag UNIQUE (version_tag, type_name, cluster_id), CONSTRAINT UQ_config_type_version UNIQUE (cluster_id, type_name, version)); -CREATE TABLE clusterconfigmapping ( - cluster_id BIGINT NOT NULL, - type_name VARCHAR(255) NOT NULL, - version_tag VARCHAR(255) NOT NULL, - create_timestamp BIGINT NOT NULL, - selected INTEGER NOT NULL DEFAULT 0, - user_name VARCHAR(255) NOT NULL DEFAULT '_db', - CONSTRAINT PK_clusterconfigmapping PRIMARY KEY (cluster_id, type_name, create_timestamp), - CONSTRAINT clusterconfigmappingcluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id)); - CREATE TABLE serviceconfig ( service_config_id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, @@ -171,37 +163,25 @@ CREATE TABLE repo_version ( CONSTRAINT UQ_repo_version_display_name UNIQUE (display_name), CONSTRAINT UQ_repo_version_stack_id UNIQUE (stack_id, version)); -CREATE TABLE cluster_version ( - id BIGINT NOT NULL, - repo_version_id BIGINT NOT NULL, - cluster_id BIGINT NOT NULL, - state VARCHAR(32) NOT NULL, - start_time BIGINT NOT NULL, - end_time BIGINT, - user_name VARCHAR(32), - CONSTRAINT PK_cluster_version PRIMARY KEY (id), - CONSTRAINT FK_cluster_version_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), - CONSTRAINT FK_cluster_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id)); CREATE TABLE servicecomponentdesiredstate ( id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, - desired_stack_id BIGINT NOT NULL, + desired_repo_version_id BIGINT NOT NULL, desired_state VARCHAR(255) NOT NULL, - desired_version VARCHAR(255) NOT NULL DEFAULT 'UNKNOWN', service_name VARCHAR(255) NOT NULL, recovery_enabled SMALLINT NOT NULL DEFAULT 0, + 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_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT srvccmponentdesiredstatesrvcnm FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE hostcomponentdesiredstate ( id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, - desired_stack_id BIGINT NOT NULL, desired_state VARCHAR(255) NOT NULL, host_id BIGINT NOT NULL, service_name VARCHAR(255) NOT NULL, @@ -212,7 +192,6 @@ CREATE TABLE hostcomponentdesiredstate ( CONSTRAINT PK_hostcomponentdesiredstate PRIMARY KEY (id), CONSTRAINT UQ_hcdesiredstate_name UNIQUE (component_name, service_name, host_id, cluster_id), CONSTRAINT FK_hcdesiredstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), - CONSTRAINT FK_hcds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), CONSTRAINT hstcmpnntdesiredstatecmpnntnme FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); @@ -221,14 +200,12 @@ CREATE TABLE hostcomponentstate ( cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, version VARCHAR(32) NOT NULL DEFAULT 'UNKNOWN', - current_stack_id BIGINT NOT NULL, current_state VARCHAR(255) NOT NULL, host_id BIGINT NOT NULL, service_name VARCHAR(255) NOT NULL, upgrade_state VARCHAR(32) NOT NULL DEFAULT 'NONE', security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', CONSTRAINT pk_hostcomponentstate PRIMARY KEY (id), - CONSTRAINT FK_hcs_current_stack_id FOREIGN KEY (current_stack_id) REFERENCES stack(stack_id), CONSTRAINT FK_hostcomponentstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT hstcomponentstatecomponentname FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); @@ -253,19 +230,19 @@ CREATE TABLE host_version ( CONSTRAINT PK_host_version PRIMARY KEY (id), CONSTRAINT FK_host_version_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT FK_host_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT UQ_host_repo UNIQUE(repo_version_id, host_id)); + CONSTRAINT UQ_host_repo UNIQUE(host_id, repo_version_id, state)); CREATE TABLE servicedesiredstate ( cluster_id BIGINT NOT NULL, desired_host_role_mapping INTEGER NOT NULL, - desired_stack_id BIGINT NOT NULL, + desired_repo_version_id BIGINT NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, maintenance_state VARCHAR(32) NOT NULL, security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', credential_store_enabled SMALLINT NOT NULL DEFAULT 0, CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name), - CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_repo_version_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE adminprincipaltype ( @@ -831,11 +808,10 @@ CREATE TABLE upgrade ( upgrade_id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, request_id BIGINT NOT NULL, - from_repo_version_id BIGINT NOT NULL, - to_repo_version_id BIGINT NOT NULL, direction VARCHAR(255) DEFAULT 'UPGRADE' NOT NULL, upgrade_package VARCHAR(255) NOT NULL, upgrade_type VARCHAR(32) NOT NULL, + repo_version_id BIGINT NOT NULL, skip_failures SMALLINT DEFAULT 0 NOT NULL, skip_sc_failures SMALLINT DEFAULT 0 NOT NULL, downgrade_allowed SMALLINT DEFAULT 1 NOT NULL, @@ -843,8 +819,7 @@ CREATE TABLE upgrade ( CONSTRAINT PK_upgrade PRIMARY KEY (upgrade_id), FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id), FOREIGN KEY (request_id) REFERENCES request(request_id), - CONSTRAINT FK_upgrade_from_repo_id FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT FK_upgrade_to_repo_id FOREIGN KEY (to_repo_version_id) REFERENCES repo_version (repo_version_id) + FOREIGN KEY (repo_version_id) REFERENCES repo_version(repo_version_id) ); CREATE TABLE upgrade_group ( @@ -868,17 +843,18 @@ CREATE TABLE upgrade_item ( FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); -CREATE TABLE servicecomponent_history( +CREATE TABLE upgrade_history( id BIGINT NOT NULL, - component_id BIGINT NOT NULL, upgrade_id BIGINT NOT NULL, - from_stack_id BIGINT NOT NULL, - to_stack_id BIGINT NOT NULL, - CONSTRAINT PK_sc_history PRIMARY KEY (id), - CONSTRAINT FK_sc_history_component_id FOREIGN KEY (component_id) REFERENCES servicecomponentdesiredstate (id), - CONSTRAINT FK_sc_history_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), - CONSTRAINT FK_sc_history_from_stack_id FOREIGN KEY (from_stack_id) REFERENCES stack (stack_id), - CONSTRAINT FK_sc_history_to_stack_id FOREIGN KEY (to_stack_id) REFERENCES stack (stack_id) + service_name VARCHAR(255) NOT NULL, + component_name VARCHAR(255) NOT NULL, + from_repo_version_id BIGINT NOT NULL, + target_repo_version_id BIGINT NOT NULL, + CONSTRAINT PK_upgrade_hist PRIMARY KEY (id), + CONSTRAINT FK_upgrade_hist_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), + CONSTRAINT FK_upgrade_hist_from_repo FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT FK_upgrade_hist_target_repo FOREIGN KEY (target_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT UQ_upgrade_hist UNIQUE (upgrade_id, component_name, service_name) ); CREATE TABLE servicecomponent_version( @@ -1112,8 +1088,6 @@ INSERT INTO ambari_sequences (sequence_name, sequence_value) union all select 'repo_version_id_seq', 0 FROM SYSIBM.SYSDUMMY1 union all - select 'cluster_version_id_seq', 0 FROM SYSIBM.SYSDUMMY1 - union all select 'host_version_id_seq', 0 FROM SYSIBM.SYSDUMMY1 union all select 'service_config_id_seq', 1 FROM SYSIBM.SYSDUMMY1 @@ -1154,7 +1128,7 @@ INSERT INTO ambari_sequences (sequence_name, sequence_value) union all select 'servicecomponentdesiredstate_id_seq', 0 FROM SYSIBM.SYSDUMMY1 union all - select 'servicecomponent_history_id_seq', 0 FROM SYSIBM.SYSDUMMY1 + select 'upgrade_history_id_seq', 0 FROM SYSIBM.SYSDUMMY1 union all select 'blueprint_setting_id_seq', 0 FROM SYSIBM.SYSDUMMY1 union all @@ -1650,4 +1624,4 @@ create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,IN create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP); create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP); create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); -create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP); +create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/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 d6ac15b..c73db6e 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql @@ -92,10 +92,12 @@ CREATE TABLE clusterconfig ( type_name VARCHAR(100) NOT NULL, cluster_id BIGINT NOT NULL, stack_id BIGINT NOT NULL, + selected SMALLINT NOT NULL DEFAULT 0, config_data LONGTEXT NOT NULL, config_attributes LONGTEXT, create_timestamp BIGINT NOT NULL, service_deleted SMALLINT NOT NULL DEFAULT 0, + selected_timestamp BIGINT NOT NULL DEFAULT 0, CONSTRAINT PK_clusterconfig PRIMARY KEY (config_id), CONSTRAINT FK_clusterconfig_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), CONSTRAINT FK_clusterconfig_stack_id FOREIGN KEY (stack_id) REFERENCES stack(stack_id), @@ -181,37 +183,25 @@ CREATE TABLE repo_version ( CONSTRAINT UQ_repo_version_display_name UNIQUE (display_name), CONSTRAINT UQ_repo_version_stack_id UNIQUE (stack_id, version)); -CREATE TABLE cluster_version ( - id BIGINT NOT NULL, - repo_version_id BIGINT NOT NULL, - cluster_id BIGINT NOT NULL, - state VARCHAR(32) NOT NULL, - start_time BIGINT NOT NULL, - end_time BIGINT, - user_name VARCHAR(32), - CONSTRAINT PK_cluster_version PRIMARY KEY (id), - CONSTRAINT FK_cluster_version_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), - CONSTRAINT FK_cluster_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id)); CREATE TABLE servicecomponentdesiredstate ( id BIGINT NOT NULL, component_name VARCHAR(100) NOT NULL, cluster_id BIGINT NOT NULL, - desired_stack_id BIGINT NOT NULL, - desired_version VARCHAR(255) NOT NULL DEFAULT 'UNKNOWN', + desired_repo_version_id BIGINT NOT NULL, 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 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), - CONSTRAINT FK_scds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT srvccmponentdesiredstatesrvcnm FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE hostcomponentdesiredstate ( id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, component_name VARCHAR(100) NOT NULL, - desired_stack_id BIGINT NOT NULL, desired_state VARCHAR(255) NOT NULL, host_id BIGINT NOT NULL, service_name VARCHAR(100) NOT NULL, @@ -222,7 +212,6 @@ CREATE TABLE hostcomponentdesiredstate ( CONSTRAINT PK_hostcomponentdesiredstate PRIMARY KEY (id), CONSTRAINT UQ_hcdesiredstate_name UNIQUE (component_name, service_name, host_id, cluster_id), CONSTRAINT FK_hcdesiredstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), - CONSTRAINT FK_hcds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), CONSTRAINT hstcmpnntdesiredstatecmpnntnme FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); @@ -231,14 +220,12 @@ CREATE TABLE hostcomponentstate ( cluster_id BIGINT NOT NULL, component_name VARCHAR(100) NOT NULL, version VARCHAR(32) NOT NULL DEFAULT 'UNKNOWN', - current_stack_id BIGINT NOT NULL, current_state VARCHAR(255) NOT NULL, host_id BIGINT NOT NULL, service_name VARCHAR(100) NOT NULL, upgrade_state VARCHAR(32) NOT NULL DEFAULT 'NONE', security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', CONSTRAINT pk_hostcomponentstate PRIMARY KEY (id), - CONSTRAINT FK_hcs_current_stack_id FOREIGN KEY (current_stack_id) REFERENCES stack(stack_id), CONSTRAINT FK_hostcomponentstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT hstcomponentstatecomponentname FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); @@ -263,19 +250,19 @@ CREATE TABLE host_version ( CONSTRAINT PK_host_version PRIMARY KEY (id), CONSTRAINT FK_host_version_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT FK_host_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT UQ_host_repo UNIQUE(repo_version_id, host_id)); + CONSTRAINT UQ_host_repo UNIQUE(host_id, repo_version_id)); CREATE TABLE servicedesiredstate ( cluster_id BIGINT NOT NULL, desired_host_role_mapping INTEGER NOT NULL, - desired_stack_id BIGINT NOT NULL, + desired_repo_version_id BIGINT NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, maintenance_state VARCHAR(32) NOT NULL DEFAULT 'ACTIVE', security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', credential_store_enabled SMALLINT NOT NULL DEFAULT 0, CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name), - CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_repo_version_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE adminprincipaltype ( @@ -391,7 +378,7 @@ CREATE TABLE host_role_command ( start_time BIGINT NOT NULL, original_start_time BIGINT NOT NULL, end_time BIGINT, - status VARCHAR(100), + status VARCHAR(255), auto_skip_on_failure SMALLINT DEFAULT 0 NOT NULL, std_error LONGBLOB, std_out LONGBLOB, @@ -443,16 +430,6 @@ CREATE TABLE key_value_store (`key` VARCHAR(255), `value` LONGTEXT, CONSTRAINT PK_key_value_store PRIMARY KEY (`key`)); -CREATE TABLE clusterconfigmapping ( - type_name VARCHAR(255) NOT NULL, - create_timestamp BIGINT NOT NULL, - cluster_id BIGINT NOT NULL, - selected INTEGER NOT NULL DEFAULT 0, - version_tag VARCHAR(255) NOT NULL, - user_name VARCHAR(255) NOT NULL DEFAULT '_db', - CONSTRAINT PK_clusterconfigmapping PRIMARY KEY (type_name, create_timestamp, cluster_id), - CONSTRAINT clusterconfigmappingcluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id)); - CREATE TABLE hostconfigmapping ( create_timestamp BIGINT NOT NULL, host_id BIGINT NOT NULL, @@ -849,11 +826,10 @@ CREATE TABLE upgrade ( upgrade_id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, request_id BIGINT NOT NULL, - from_repo_version_id BIGINT NOT NULL, - to_repo_version_id BIGINT NOT NULL, direction VARCHAR(255) DEFAULT 'UPGRADE' NOT NULL, upgrade_package VARCHAR(255) NOT NULL, upgrade_type VARCHAR(32) NOT NULL, + repo_version_id BIGINT NOT NULL, skip_failures TINYINT(1) NOT NULL DEFAULT 0, skip_sc_failures TINYINT(1) NOT NULL DEFAULT 0, downgrade_allowed TINYINT(1) NOT NULL DEFAULT 1, @@ -861,8 +837,7 @@ CREATE TABLE upgrade ( CONSTRAINT PK_upgrade PRIMARY KEY (upgrade_id), FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id), FOREIGN KEY (request_id) REFERENCES request(request_id), - CONSTRAINT FK_upgrade_from_repo_id FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT FK_upgrade_to_repo_id FOREIGN KEY (to_repo_version_id) REFERENCES repo_version (repo_version_id) + FOREIGN KEY (repo_version_id) REFERENCES repo_version(repo_version_id) ); CREATE TABLE upgrade_group ( @@ -886,17 +861,18 @@ CREATE TABLE upgrade_item ( FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); -CREATE TABLE servicecomponent_history( +CREATE TABLE upgrade_history( id BIGINT NOT NULL, - component_id BIGINT NOT NULL, upgrade_id BIGINT NOT NULL, - from_stack_id BIGINT NOT NULL, - to_stack_id BIGINT NOT NULL, - CONSTRAINT PK_sc_history PRIMARY KEY (id), - CONSTRAINT FK_sc_history_component_id FOREIGN KEY (component_id) REFERENCES servicecomponentdesiredstate (id), - CONSTRAINT FK_sc_history_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), - CONSTRAINT FK_sc_history_from_stack_id FOREIGN KEY (from_stack_id) REFERENCES stack (stack_id), - CONSTRAINT FK_sc_history_to_stack_id FOREIGN KEY (to_stack_id) REFERENCES stack (stack_id) + service_name VARCHAR(255) NOT NULL, + component_name VARCHAR(255) NOT NULL, + from_repo_version_id BIGINT NOT NULL, + target_repo_version_id BIGINT NOT NULL, + CONSTRAINT PK_upgrade_hist PRIMARY KEY (id), + CONSTRAINT FK_upgrade_hist_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), + CONSTRAINT FK_upgrade_hist_from_repo FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT FK_upgrade_hist_target_repo FOREIGN KEY (target_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT UQ_upgrade_hist UNIQUE (upgrade_id, component_name, service_name) ); CREATE TABLE servicecomponent_version( @@ -1096,7 +1072,6 @@ INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES ('permission_id_seq', 7), ('privilege_id_seq', 1), ('config_id_seq', 1), - ('cluster_version_id_seq', 0), ('host_version_id_seq', 0), ('service_config_id_seq', 1), ('alert_definition_id_seq', 0), @@ -1124,7 +1099,7 @@ INSERT INTO ambari_sequences(sequence_name, sequence_value) VALUES ('setting_id_seq', 0), ('hostcomponentstate_id_seq', 0), ('servicecomponentdesiredstate_id_seq', 0), - ('servicecomponent_history_id_seq', 0), + ('upgrade_history_id_seq', 0), ('blueprint_setting_id_seq', 0), ('ambari_operation_history_id_seq', 0), ('remote_cluster_id_seq', 0), @@ -1602,4 +1577,4 @@ create index idx_qrtz_ft_jg on QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); create index idx_qrtz_ft_t_g on QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); create index idx_qrtz_ft_tg on QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); -commit; +commit; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/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 c107a65..52f680d 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql @@ -72,10 +72,12 @@ CREATE TABLE clusterconfig ( type_name VARCHAR2(255) NOT NULL, cluster_id NUMBER(19) NOT NULL, stack_id NUMBER(19) NOT NULL, + selected NUMBER(1) DEFAULT 0 NOT NULL, config_data CLOB NOT NULL, config_attributes CLOB, create_timestamp NUMBER(19) NOT NULL, service_deleted SMALLINT DEFAULT 0 NOT NULL, + selected_timestamp NUMBER(19) DEFAULT 0 NOT NULL, CONSTRAINT PK_clusterconfig PRIMARY KEY (config_id), CONSTRAINT FK_clusterconfig_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), CONSTRAINT FK_clusterconfig_stack_id FOREIGN KEY (stack_id) REFERENCES stack(stack_id), @@ -162,37 +164,25 @@ CREATE TABLE repo_version ( CONSTRAINT UQ_repo_version_display_name UNIQUE (display_name), CONSTRAINT UQ_repo_version_stack_id UNIQUE (stack_id, version)); -CREATE TABLE cluster_version ( - id NUMBER(19) NULL, - repo_version_id NUMBER(19) NOT NULL, - cluster_id NUMBER(19) NOT NULL, - state VARCHAR2(32) NOT NULL, - start_time NUMBER(19) NOT NULL, - end_time NUMBER(19), - user_name VARCHAR2(32), - CONSTRAINT PK_cluster_version PRIMARY KEY (id), - CONSTRAINT FK_cluster_version_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), - CONSTRAINT FK_cluster_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id)); CREATE TABLE servicecomponentdesiredstate ( id NUMBER(19) NOT NULL, component_name VARCHAR2(255) NOT NULL, cluster_id NUMBER(19) NOT NULL, - desired_stack_id NUMBER(19) NOT NULL, + desired_repo_version_id NUMBER(19) NOT NULL, desired_state VARCHAR2(255) NOT NULL, - desired_version VARCHAR(255) DEFAULT 'UNKNOWN' NOT NULL, service_name VARCHAR2(255) NOT NULL, recovery_enabled SMALLINT DEFAULT 0 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_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT srvccmponentdesiredstatesrvcnm FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE hostcomponentdesiredstate ( id NUMBER(19) NOT NULL, cluster_id NUMBER(19) NOT NULL, component_name VARCHAR2(255) NOT NULL, - desired_stack_id NUMBER(19) NULL, desired_state VARCHAR2(255) NOT NULL, host_id NUMBER(19) NOT NULL, service_name VARCHAR2(255) NOT NULL, @@ -203,7 +193,6 @@ CREATE TABLE hostcomponentdesiredstate ( CONSTRAINT PK_hostcomponentdesiredstate PRIMARY KEY (id), CONSTRAINT UQ_hcdesiredstate_name UNIQUE (component_name, service_name, host_id, cluster_id), CONSTRAINT FK_hcdesiredstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), - CONSTRAINT FK_hcds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), CONSTRAINT hstcmpnntdesiredstatecmpnntnme FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); CREATE TABLE hostcomponentstate ( @@ -211,14 +200,12 @@ CREATE TABLE hostcomponentstate ( cluster_id NUMBER(19) NOT NULL, component_name VARCHAR2(255) NOT NULL, version VARCHAR2(32) DEFAULT 'UNKNOWN' NOT NULL, - current_stack_id NUMBER(19) NOT NULL, current_state VARCHAR2(255) NOT NULL, host_id NUMBER(19) NOT NULL, service_name VARCHAR2(255) NOT NULL, upgrade_state VARCHAR2(32) DEFAULT 'NONE' NOT NULL, security_state VARCHAR2(32) DEFAULT 'UNSECURED' NOT NULL, CONSTRAINT pk_hostcomponentstate PRIMARY KEY (id), - CONSTRAINT FK_hcs_current_stack_id FOREIGN KEY (current_stack_id) REFERENCES stack(stack_id), CONSTRAINT FK_hostcomponentstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT hstcomponentstatecomponentname FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); @@ -243,19 +230,19 @@ CREATE TABLE host_version ( CONSTRAINT PK_host_version PRIMARY KEY (id), CONSTRAINT FK_host_version_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT FK_host_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT UQ_host_repo UNIQUE(repo_version_id, host_id)); + CONSTRAINT UQ_host_repo UNIQUE(host_id, repo_version_id)); CREATE TABLE servicedesiredstate ( cluster_id NUMBER(19) NOT NULL, desired_host_role_mapping NUMBER(10) NOT NULL, - desired_stack_id NUMBER(19) NOT NULL, + desired_repo_version_id NUMBER(19) NOT NULL, desired_state VARCHAR2(255) NOT NULL, service_name VARCHAR2(255) NOT NULL, maintenance_state VARCHAR2(32) NOT NULL, security_state VARCHAR2(32) DEFAULT 'UNSECURED' NOT NULL, credential_store_enabled SMALLINT DEFAULT 0 NOT NULL, CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name), - CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_repo_version_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE adminprincipaltype ( @@ -371,7 +358,7 @@ CREATE TABLE host_role_command ( start_time NUMBER(19) NOT NULL, original_start_time NUMBER(19) NOT NULL, end_time NUMBER(19), - status VARCHAR2(255) NULL, + status VARCHAR(255), auto_skip_on_failure NUMBER(1) DEFAULT 0 NOT NULL, std_error BLOB NULL, std_out BLOB NULL, @@ -424,16 +411,6 @@ CREATE TABLE key_value_store ( "value" CLOB NULL, CONSTRAINT PK_key_value_store PRIMARY KEY ("key")); -CREATE TABLE clusterconfigmapping ( - type_name VARCHAR2(255) NOT NULL, - create_timestamp NUMBER(19) NOT NULL, - cluster_id NUMBER(19) NOT NULL, - selected NUMBER(10) NOT NULL, - version_tag VARCHAR2(255) NOT NULL, - user_name VARCHAR(255) DEFAULT '_db', - CONSTRAINT PK_clusterconfigmapping PRIMARY KEY (type_name, create_timestamp, cluster_id), - CONSTRAINT clusterconfigmappingcluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id)); - CREATE TABLE hostconfigmapping ( create_timestamp NUMBER(19) NOT NULL, host_id NUMBER(19) NOT NULL, @@ -828,11 +805,10 @@ CREATE TABLE upgrade ( upgrade_id NUMBER(19) NOT NULL, cluster_id NUMBER(19) NOT NULL, request_id NUMBER(19) NOT NULL, - from_repo_version_id NUMBER(19) NOT NULL, - to_repo_version_id NUMBER(19) NOT NULL, direction VARCHAR2(255) DEFAULT 'UPGRADE' NOT NULL, upgrade_package VARCHAR2(255) NOT NULL, upgrade_type VARCHAR2(32) NOT NULL, + repo_version_id NUMBER(19) NOT NULL, skip_failures NUMBER(1) DEFAULT 0 NOT NULL, skip_sc_failures NUMBER(1) DEFAULT 0 NOT NULL, downgrade_allowed NUMBER(1) DEFAULT 1 NOT NULL, @@ -840,8 +816,7 @@ CREATE TABLE upgrade ( CONSTRAINT PK_upgrade PRIMARY KEY (upgrade_id), FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id), FOREIGN KEY (request_id) REFERENCES request(request_id), - CONSTRAINT FK_upgrade_from_repo_id FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT FK_upgrade_to_repo_id FOREIGN KEY (to_repo_version_id) REFERENCES repo_version (repo_version_id) + FOREIGN KEY (repo_version_id) REFERENCES repo_version(repo_version_id) ); CREATE TABLE upgrade_group ( @@ -865,17 +840,18 @@ CREATE TABLE upgrade_item ( FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); -CREATE TABLE servicecomponent_history( - id NUMBER(19) NOT NULL, - component_id NUMBER(19) NOT NULL, - upgrade_id NUMBER(19) NOT NULL, - from_stack_id NUMBER(19) NOT NULL, - to_stack_id NUMBER(19) NOT NULL, - CONSTRAINT PK_sc_history PRIMARY KEY (id), - CONSTRAINT FK_sc_history_component_id FOREIGN KEY (component_id) REFERENCES servicecomponentdesiredstate (id), - CONSTRAINT FK_sc_history_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), - CONSTRAINT FK_sc_history_from_stack_id FOREIGN KEY (from_stack_id) REFERENCES stack (stack_id), - CONSTRAINT FK_sc_history_to_stack_id FOREIGN KEY (to_stack_id) REFERENCES stack (stack_id) +CREATE TABLE upgrade_history( + id BIGINT NOT NULL, + upgrade_id BIGINT NOT NULL, + service_name VARCHAR2(255) NOT NULL, + component_name VARCHAR2(255) NOT NULL, + from_repo_version_id BIGINT NOT NULL, + target_repo_version_id BIGINT NOT NULL, + CONSTRAINT PK_upgrade_hist PRIMARY KEY (id), + CONSTRAINT FK_upgrade_hist_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), + CONSTRAINT FK_upgrade_hist_from_repo FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT FK_upgrade_hist_target_repo FOREIGN KEY (target_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT UQ_upgrade_hist UNIQUE (upgrade_id, component_name, service_name) ); CREATE TABLE servicecomponent_version( @@ -1075,7 +1051,6 @@ INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('principal_i INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('permission_id_seq', 7); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('privilege_id_seq', 1); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('config_id_seq', 1); -INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_version_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('host_version_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_config_id_seq', 1); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_definition_id_seq', 0); @@ -1103,7 +1078,7 @@ INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('topology_ho INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('setting_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('hostcomponentstate_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('servicecomponentdesiredstate_id_seq', 0); -INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('servicecomponent_history_id_seq', 0); +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('upgrade_history_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('blueprint_setting_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('ambari_operation_history_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('remote_cluster_id_seq', 0); @@ -1587,4 +1562,4 @@ create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,IN create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP); create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP); create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); -create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP); +create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/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 dfcd2f2..806a6ae 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql @@ -71,10 +71,12 @@ CREATE TABLE clusterconfig ( type_name VARCHAR(255) NOT NULL, cluster_id NUMERIC(19) NOT NULL, stack_id NUMERIC(19) NOT NULL, + selected SMALLINT NOT NULL DEFAULT 0, config_data TEXT NOT NULL, config_attributes TEXT, create_timestamp NUMERIC(19) NOT NULL, service_deleted SMALLINT NOT NULL DEFAULT 0, + selected_timestamp NUMERIC(19) NOT NULL DEFAULT 0, CONSTRAINT PK_clusterconfig PRIMARY KEY (config_id), CONSTRAINT FK_clusterconfig_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), CONSTRAINT FK_clusterconfig_stack_id FOREIGN KEY (stack_id) REFERENCES stack(stack_id), @@ -160,37 +162,24 @@ CREATE TABLE repo_version ( CONSTRAINT UQ_repo_version_display_name UNIQUE (display_name), CONSTRAINT UQ_repo_version_stack_id UNIQUE (stack_id, version)); -CREATE TABLE cluster_version ( - id NUMERIC(19) NOT NULL, - repo_version_id NUMERIC(19) NOT NULL, - cluster_id NUMERIC(19) NOT NULL, - state VARCHAR(32) NOT NULL, - start_time NUMERIC(19) NOT NULL, - end_time NUMERIC(19), - user_name VARCHAR(32), - CONSTRAINT PK_cluster_version PRIMARY KEY (id), - CONSTRAINT FK_cluster_version_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), - CONSTRAINT FK_cluster_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id)); - CREATE TABLE servicecomponentdesiredstate ( id NUMERIC(19) NOT NULL, component_name VARCHAR(255) NOT NULL, cluster_id NUMERIC(19) NOT NULL, - desired_stack_id NUMERIC(19) NOT NULL, - desired_version VARCHAR(255) NOT NULL DEFAULT 'UNKNOWN', + desired_repo_version_id NUMERIC(19) NOT NULL, 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 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), - CONSTRAINT FK_scds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT srvccmponentdesiredstatesrvcnm FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE hostcomponentdesiredstate ( id NUMERIC(19) NOT NULL, cluster_id NUMERIC(19) NOT NULL, component_name VARCHAR(255) NOT NULL, - desired_stack_id NUMERIC(19) NOT NULL, desired_state VARCHAR(255) NOT NULL, host_id NUMERIC(19) NOT NULL, service_name VARCHAR(255) NOT NULL, @@ -201,7 +190,6 @@ CREATE TABLE hostcomponentdesiredstate ( CONSTRAINT PK_hostcomponentdesiredstate PRIMARY KEY (id), CONSTRAINT UQ_hcdesiredstate_name UNIQUE (component_name, service_name, host_id, cluster_id), CONSTRAINT FK_hcdesiredstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), - CONSTRAINT FK_hcds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), CONSTRAINT hstcmpnntdesiredstatecmpnntnme FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); CREATE TABLE hostcomponentstate ( @@ -209,14 +197,12 @@ CREATE TABLE hostcomponentstate ( cluster_id NUMERIC(19) NOT NULL, component_name VARCHAR(255) NOT NULL, version VARCHAR(32) NOT NULL DEFAULT 'UNKNOWN', - current_stack_id NUMERIC(19) NOT NULL, current_state VARCHAR(255) NOT NULL, host_id NUMERIC(19) NOT NULL, service_name VARCHAR(255) NOT NULL, upgrade_state VARCHAR(32) NOT NULL DEFAULT 'NONE', security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', CONSTRAINT PK_hostcomponentstate PRIMARY KEY (id), - CONSTRAINT FK_hcs_current_stack_id FOREIGN KEY (current_stack_id) REFERENCES stack(stack_id), CONSTRAINT FK_hostcomponentstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT hstcomponentstatecomponentname FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); @@ -241,19 +227,19 @@ CREATE TABLE host_version ( CONSTRAINT PK_host_version PRIMARY KEY (id), CONSTRAINT FK_host_version_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT FK_host_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT UQ_host_repo UNIQUE(repo_version_id, host_id)); + CONSTRAINT UQ_host_repo UNIQUE(host_id, repo_version_id)); CREATE TABLE servicedesiredstate ( cluster_id NUMERIC(19) NOT NULL, desired_host_role_mapping INTEGER NOT NULL, - desired_stack_id NUMERIC(19) NOT NULL, + desired_repo_version_id NUMERIC(19) NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, maintenance_state VARCHAR(32) NOT NULL DEFAULT 'ACTIVE', security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', credential_store_enabled SMALLINT NOT NULL DEFAULT 0, CONSTRAINT PK_servicedesiredstate PRIMARY KEY (cluster_id, service_name), - CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_repo_version_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE adminprincipaltype ( @@ -336,6 +322,7 @@ CREATE TABLE request ( request_type VARCHAR(255), start_time NUMERIC(19) NOT NULL, status VARCHAR(255), + cluster_host_info IMAGE, CONSTRAINT PK_request PRIMARY KEY (request_id), CONSTRAINT FK_request_schedule_id FOREIGN KEY (request_schedule_id) REFERENCES requestschedule (schedule_id)); @@ -347,7 +334,6 @@ CREATE TABLE stage ( supports_auto_skip_failure SMALLINT DEFAULT 0 NOT NULL, log_info VARCHAR(255) NOT NULL, request_context VARCHAR(255), - cluster_host_info IMAGE, command_params IMAGE, host_params IMAGE, command_execution_type VARCHAR(32) NOT NULL DEFAULT 'STAGE', @@ -421,16 +407,6 @@ CREATE TABLE key_value_store ("key" VARCHAR(255), "value" TEXT, CONSTRAINT PK_key_value_store PRIMARY KEY ("key")); -CREATE TABLE clusterconfigmapping ( - type_name VARCHAR(255) NOT NULL, - create_timestamp NUMERIC(19) NOT NULL, - cluster_id NUMERIC(19) NOT NULL, - selected INTEGER NOT NULL DEFAULT 0, - version_tag VARCHAR(255) NOT NULL, - user_name VARCHAR(255) NOT NULL DEFAULT '_db', - CONSTRAINT PK_clusterconfigmapping PRIMARY KEY (type_name, create_timestamp, cluster_id), - CONSTRAINT clusterconfigmappingcluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id)); - CREATE TABLE hostconfigmapping ( create_timestamp NUMERIC(19) NOT NULL, host_id NUMERIC(19) NOT NULL, @@ -827,10 +803,9 @@ CREATE TABLE upgrade ( upgrade_id NUMERIC(19) NOT NULL, cluster_id NUMERIC(19) NOT NULL, request_id NUMERIC(19) NOT NULL, - from_repo_version_id NUMERIC(19) NOT NULL, - to_repo_version_id NUMERIC(19) NOT NULL, direction VARCHAR(255) DEFAULT 'UPGRADE' NOT NULL, upgrade_type VARCHAR(32) NOT NULL, + repo_version_id NUMERIC(19) NOT NULL, upgrade_package VARCHAR(255) NOT NULL, skip_failures BIT NOT NULL DEFAULT 0, skip_sc_failures BIT NOT NULL DEFAULT 0, @@ -839,8 +814,7 @@ CREATE TABLE upgrade ( CONSTRAINT PK_upgrade PRIMARY KEY (upgrade_id), FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id), FOREIGN KEY (request_id) REFERENCES request(request_id), - CONSTRAINT FK_upgrade_from_repo_id FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT FK_upgrade_to_repo_id FOREIGN KEY (to_repo_version_id) REFERENCES repo_version (repo_version_id) + FOREIGN KEY (repo_version_id) REFERENCES repo_version(repo_version_id) ); CREATE TABLE upgrade_group ( @@ -864,17 +838,18 @@ CREATE TABLE upgrade_item ( FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); -CREATE TABLE servicecomponent_history( - id NUMERIC(19) NOT NULL, - component_id NUMERIC(19) NOT NULL, - upgrade_id NUMERIC(19) NOT NULL, - from_stack_id NUMERIC(19) NOT NULL, - to_stack_id NUMERIC(19) NOT NULL, - CONSTRAINT PK_sc_history PRIMARY KEY (id), - CONSTRAINT FK_sc_history_component_id FOREIGN KEY (component_id) REFERENCES servicecomponentdesiredstate (id), - CONSTRAINT FK_sc_history_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), - CONSTRAINT FK_sc_history_from_stack_id FOREIGN KEY (from_stack_id) REFERENCES stack (stack_id), - CONSTRAINT FK_sc_history_to_stack_id FOREIGN KEY (to_stack_id) REFERENCES stack (stack_id) +CREATE TABLE upgrade_history( + id BIGINT NOT NULL, + upgrade_id BIGINT NOT NULL, + service_name VARCHAR(255) NOT NULL, + component_name VARCHAR(255) NOT NULL, + from_repo_version_id BIGINT NOT NULL, + target_repo_version_id BIGINT NOT NULL, + CONSTRAINT PK_upgrade_hist PRIMARY KEY (id), + CONSTRAINT FK_upgrade_hist_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), + CONSTRAINT FK_upgrade_hist_from_repo FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT FK_upgrade_hist_target_repo FOREIGN KEY (target_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT UQ_upgrade_hist UNIQUE (upgrade_id, component_name, service_name) ); CREATE TABLE servicecomponent_version( @@ -1074,7 +1049,6 @@ INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('principal_i INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('permission_id_seq', 7); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('privilege_id_seq', 1); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('config_id_seq', 1); -INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('cluster_version_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('host_version_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('service_config_id_seq', 1); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('alert_definition_id_seq', 0); @@ -1102,7 +1076,7 @@ INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('topology_ho INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('setting_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('hostcomponentstate_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('servicecomponentdesiredstate_id_seq', 0); -INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('servicecomponent_history_id_seq', 0); +INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('upgrade_history_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('blueprint_setting_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('ambari_operation_history_id_seq', 0); INSERT INTO ambari_sequences(sequence_name, sequence_value) values ('remote_cluster_id_seq', 0); @@ -1597,4 +1571,4 @@ create index idx_qrtz_ft_jg on QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); create index idx_qrtz_ft_t_g on QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); create index idx_qrtz_ft_tg on QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); -commit; +commit; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/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 63c17a9..cabc32a 100644 --- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql +++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql @@ -85,10 +85,12 @@ CREATE TABLE clusterconfig ( type_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, stack_id BIGINT NOT NULL, + selected SMALLINT NOT NULL DEFAULT 0, config_data VARCHAR(MAX) NOT NULL, config_attributes VARCHAR(MAX), create_timestamp BIGINT NOT NULL, service_deleted SMALLINT NOT NULL DEFAULT 0, + selected_timestamp BIGINT NOT NULL DEFAULT 0, CONSTRAINT PK_clusterconfig PRIMARY KEY CLUSTERED (config_id), CONSTRAINT FK_clusterconfig_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), CONSTRAINT FK_clusterconfig_stack_id FOREIGN KEY (stack_id) REFERENCES stack(stack_id), @@ -143,16 +145,6 @@ CREATE TABLE serviceconfigmapping ( CONSTRAINT FK_scvm_config FOREIGN KEY (config_id) REFERENCES clusterconfig(config_id), CONSTRAINT FK_scvm_scv FOREIGN KEY (service_config_id) REFERENCES serviceconfig(service_config_id)); -CREATE TABLE clusterconfigmapping ( - cluster_id BIGINT NOT NULL, - type_name VARCHAR(255) NOT NULL, - version_tag VARCHAR(255) NOT NULL, - create_timestamp BIGINT NOT NULL, - selected INT NOT NULL DEFAULT 0, - user_name VARCHAR(255) NOT NULL DEFAULT '_db', - CONSTRAINT PK_clusterconfigmapping PRIMARY KEY CLUSTERED (cluster_id, type_name, create_timestamp ), - CONSTRAINT clusterconfigmappingcluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id)); - CREATE TABLE clusterservices ( service_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, @@ -184,37 +176,24 @@ CREATE TABLE repo_version ( CONSTRAINT UQ_repo_version_display_name UNIQUE (display_name), CONSTRAINT UQ_repo_version_stack_id UNIQUE (stack_id, version)); -CREATE TABLE cluster_version ( - id BIGINT NOT NULL, - cluster_id BIGINT NOT NULL, - repo_version_id BIGINT NOT NULL, - STATE VARCHAR(255) NOT NULL, - start_time BIGINT NOT NULL, - end_time BIGINT, - user_name VARCHAR(255), - CONSTRAINT PK_cluster_version PRIMARY KEY CLUSTERED (id), - CONSTRAINT FK_cluster_version_cluster_id FOREIGN KEY (cluster_id) REFERENCES clusters (cluster_id), - CONSTRAINT FK_cluster_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id)); - CREATE TABLE servicecomponentdesiredstate ( id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, cluster_id BIGINT NOT NULL, - desired_stack_id BIGINT NOT NULL, - desired_version VARCHAR(255) NOT NULL DEFAULT 'UNKNOWN', + desired_repo_version_id BIGINT NOT NULL, 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 'NOT_REQUIRED', CONSTRAINT pk_sc_desiredstate PRIMARY KEY (id), CONSTRAINT UQ_scdesiredstate_name UNIQUE(component_name, service_name, cluster_id), - CONSTRAINT FK_scds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_scds_desired_repo_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT srvccmponentdesiredstatesrvcnm FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE hostcomponentdesiredstate ( id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, - desired_stack_id BIGINT NOT NULL, desired_state VARCHAR(255) NOT NULL, host_id BIGINT NOT NULL, service_name VARCHAR(255) NOT NULL, @@ -224,7 +203,6 @@ CREATE TABLE hostcomponentdesiredstate ( restart_required BIT NOT NULL DEFAULT 0, CONSTRAINT PK_hostcomponentdesiredstate PRIMARY KEY CLUSTERED (id), CONSTRAINT UQ_hcdesiredstate_name UNIQUE NONCLUSTERED (component_name, service_name, host_id, cluster_id), - CONSTRAINT FK_hcds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), CONSTRAINT hstcmpnntdesiredstatecmpnntnme FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id), CONSTRAINT hstcmponentdesiredstatehstid FOREIGN KEY (host_id) REFERENCES hosts (host_id)); @@ -234,14 +212,12 @@ CREATE TABLE hostcomponentstate ( cluster_id BIGINT NOT NULL, component_name VARCHAR(255) NOT NULL, version VARCHAR(32) NOT NULL DEFAULT 'UNKNOWN', - current_stack_id BIGINT NOT NULL, current_state VARCHAR(255) NOT NULL, host_id BIGINT NOT NULL, service_name VARCHAR(255) NOT NULL, upgrade_state VARCHAR(32) NOT NULL DEFAULT 'NONE', security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', CONSTRAINT PK_hostcomponentstate PRIMARY KEY CLUSTERED (id), - CONSTRAINT FK_hcs_current_stack_id FOREIGN KEY (current_stack_id) REFERENCES stack(stack_id), CONSTRAINT FK_hostcomponentstate_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT hstcomponentstatecomponentname FOREIGN KEY (component_name, service_name, cluster_id) REFERENCES servicecomponentdesiredstate (component_name, service_name, cluster_id)); @@ -261,14 +237,14 @@ CREATE TABLE hoststate ( CREATE TABLE servicedesiredstate ( cluster_id BIGINT NOT NULL, desired_host_role_mapping INTEGER NOT NULL, - desired_stack_id BIGINT NOT NULL, + desired_repo_version_id BIGINT NOT NULL, desired_state VARCHAR(255) NOT NULL, service_name VARCHAR(255) NOT NULL, maintenance_state VARCHAR(32) NOT NULL, security_state VARCHAR(32) NOT NULL DEFAULT 'UNSECURED', credential_store_enabled SMALLINT NOT NULL DEFAULT 0, CONSTRAINT PK_servicedesiredstate PRIMARY KEY CLUSTERED (cluster_id,service_name), - CONSTRAINT FK_sds_desired_stack_id FOREIGN KEY (desired_stack_id) REFERENCES stack(stack_id), + CONSTRAINT FK_repo_version_id FOREIGN KEY (desired_repo_version_id) REFERENCES repo_version (repo_version_id), CONSTRAINT servicedesiredstateservicename FOREIGN KEY (service_name, cluster_id) REFERENCES clusterservices (service_name, cluster_id)); CREATE TABLE adminprincipaltype ( @@ -703,7 +679,7 @@ CREATE TABLE host_version ( CONSTRAINT PK_host_version PRIMARY KEY CLUSTERED (id), CONSTRAINT FK_host_version_host_id FOREIGN KEY (host_id) REFERENCES hosts (host_id), CONSTRAINT FK_host_version_repovers_id FOREIGN KEY (repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT UQ_host_repo UNIQUE(repo_version_id, host_id)); + CONSTRAINT UQ_host_repo UNIQUE(host_id, repo_version_id)); CREATE TABLE artifact ( artifact_name VARCHAR(255) NOT NULL, @@ -849,11 +825,10 @@ CREATE TABLE upgrade ( upgrade_id BIGINT NOT NULL, cluster_id BIGINT NOT NULL, request_id BIGINT NOT NULL, - from_repo_version_id BIGINT NOT NULL, - to_repo_version_id BIGINT NOT NULL, direction VARCHAR(255) DEFAULT 'UPGRADE' NOT NULL, upgrade_package VARCHAR(255) NOT NULL, upgrade_type VARCHAR(32) NOT NULL, + repo_version_id BIGINT NOT NULL, skip_failures BIT NOT NULL DEFAULT 0, skip_sc_failures BIT NOT NULL DEFAULT 0, downgrade_allowed BIT NOT NULL DEFAULT 1, @@ -861,8 +836,7 @@ CREATE TABLE upgrade ( CONSTRAINT PK_upgrade PRIMARY KEY CLUSTERED (upgrade_id), FOREIGN KEY (cluster_id) REFERENCES clusters(cluster_id), FOREIGN KEY (request_id) REFERENCES request(request_id), - CONSTRAINT FK_upgrade_from_repo_id FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), - CONSTRAINT FK_upgrade_to_repo_id FOREIGN KEY (to_repo_version_id) REFERENCES repo_version (repo_version_id) + FOREIGN KEY (repo_version_id) REFERENCES repo_version(repo_version_id) ); CREATE TABLE upgrade_group ( @@ -886,17 +860,18 @@ CREATE TABLE upgrade_item ( FOREIGN KEY (upgrade_group_id) REFERENCES upgrade_group(upgrade_group_id) ); -CREATE TABLE servicecomponent_history( +CREATE TABLE upgrade_history( id BIGINT NOT NULL, - component_id BIGINT NOT NULL, upgrade_id BIGINT NOT NULL, - from_stack_id BIGINT NOT NULL, - to_stack_id BIGINT NOT NULL, - CONSTRAINT PK_sc_history PRIMARY KEY (id), - CONSTRAINT FK_sc_history_component_id FOREIGN KEY (component_id) REFERENCES servicecomponentdesiredstate (id), - CONSTRAINT FK_sc_history_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), - CONSTRAINT FK_sc_history_from_stack_id FOREIGN KEY (from_stack_id) REFERENCES stack (stack_id), - CONSTRAINT FK_sc_history_to_stack_id FOREIGN KEY (to_stack_id) REFERENCES stack (stack_id) + service_name VARCHAR(255) NOT NULL, + component_name VARCHAR(255) NOT NULL, + from_repo_version_id BIGINT NOT NULL, + target_repo_version_id BIGINT NOT NULL, + CONSTRAINT PK_upgrade_hist PRIMARY KEY (id), + CONSTRAINT FK_upgrade_hist_upgrade_id FOREIGN KEY (upgrade_id) REFERENCES upgrade (upgrade_id), + CONSTRAINT FK_upgrade_hist_from_repo FOREIGN KEY (from_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT FK_upgrade_hist_target_repo FOREIGN KEY (target_repo_version_id) REFERENCES repo_version (repo_version_id), + CONSTRAINT UQ_upgrade_hist UNIQUE (upgrade_id, component_name, service_name) ); CREATE TABLE servicecomponent_version( @@ -1108,7 +1083,6 @@ BEGIN TRANSACTION ('alert_current_id_seq', 0), ('config_id_seq', 11), ('repo_version_id_seq', 0), - ('cluster_version_id_seq', 0), ('host_version_id_seq', 0), ('service_config_id_seq', 1), ('upgrade_id_seq', 0), @@ -1129,7 +1103,7 @@ BEGIN TRANSACTION ('setting_id_seq', 0), ('hostcomponentstate_id_seq', 0), ('servicecomponentdesiredstate_id_seq', 0), - ('servicecomponent_history_id_seq', 0), + ('upgrade_history_id_seq', 0), ('blueprint_setting_id_seq', 0), ('ambari_operation_history_id_seq', 0), ('remote_cluster_id_seq', 0), @@ -1611,4 +1585,4 @@ create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,IN create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP); create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP); create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); -create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP); +create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionSchedulerThreading.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionSchedulerThreading.java b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionSchedulerThreading.java index 217f95e..2c94da9 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionSchedulerThreading.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionSchedulerThreading.java @@ -34,12 +34,14 @@ import org.apache.ambari.server.events.publishers.JPAEventPublisher; import org.apache.ambari.server.orm.GuiceJpaInitializer; import org.apache.ambari.server.orm.InMemoryDefaultTestModule; import org.apache.ambari.server.orm.OrmTestHelper; +import org.apache.ambari.server.orm.entities.RepositoryVersionEntity; import org.apache.ambari.server.state.Cluster; import org.apache.ambari.server.state.Clusters; import org.apache.ambari.server.state.Config; import org.apache.ambari.server.state.ConfigFactory; import org.apache.ambari.server.state.ConfigHelper; import org.apache.ambari.server.state.DesiredConfig; +import org.apache.ambari.server.state.Service; import org.apache.ambari.server.state.StackId; import org.junit.After; import org.junit.Before; @@ -98,37 +100,44 @@ public class TestActionSchedulerThreading { StackId stackId = cluster.getCurrentStackVersion(); StackId newStackId = new StackId("HDP-2.2.0"); + RepositoryVersionEntity repoVersion220 = ormTestHelper.getOrCreateRepositoryVersion(newStackId, "2.2.0-1234"); // make sure the stacks are different Assert.assertFalse(stackId.equals(newStackId)); - Map<String, String> properties = new HashMap<String, String>(); - Map<String, Map<String, String>> propertiesAttributes = new HashMap<String, Map<String, String>>(); + // add a service + String serviceName = "ZOOKEEPER"; + RepositoryVersionEntity repositoryVersion = ormTestHelper.getOrCreateRepositoryVersion(cluster); + Service service = cluster.addService(serviceName, repositoryVersion); + String configType = "zoo.cfg"; + + Map<String, String> properties = new HashMap<>(); + Map<String, Map<String, String>> propertiesAttributes = new HashMap<>(); ConfigFactory configFactory = injector.getInstance(ConfigFactory.class); - // foo-type for v1 on current stack + // zoo-cfg for v1 on current stack properties.put("foo-property-1", "foo-value-1"); - Config c1 = configFactory.createNew(cluster, "foo-type", "version-1", properties, propertiesAttributes); + Config c1 = configFactory.createNew(cluster, configType, "version-1", properties, propertiesAttributes); // make v1 "current" cluster.addDesiredConfig("admin", Sets.newHashSet(c1), "note-1"); // bump the stack - cluster.setDesiredStackVersion(newStackId); + service.setDesiredRepositoryVersion(repoVersion220); // save v2 - // foo-type for v2 on new stack + // zoo-cfg for v2 on new stack properties.put("foo-property-2", "foo-value-2"); - Config c2 = configFactory.createNew(cluster, "foo-type", "version-2", properties, propertiesAttributes); + Config c2 = configFactory.createNew(cluster, configType, "version-2", properties, propertiesAttributes); // make v2 "current" cluster.addDesiredConfig("admin", Sets.newHashSet(c2), "note-2"); // check desired config Map<String, DesiredConfig> desiredConfigs = cluster.getDesiredConfigs(); - DesiredConfig desiredConfig = desiredConfigs.get("foo-type"); - desiredConfig = desiredConfigs.get("foo-type"); + DesiredConfig desiredConfig = desiredConfigs.get(configType); + desiredConfig = desiredConfigs.get(configType); assertNotNull(desiredConfig); assertEquals(Long.valueOf(2), desiredConfig.getVersion()); assertEquals("version-2", desiredConfig.getTag()); @@ -136,7 +145,7 @@ public class TestActionSchedulerThreading { final String hostName = cluster.getHosts().iterator().next().getHostName(); // move the stack back to the old stack - cluster.setDesiredStackVersion(stackId); + service.setDesiredRepositoryVersion(repositoryVersion); // create the semaphores, taking 1 from each to make them blocking from the // start @@ -158,7 +167,7 @@ public class TestActionSchedulerThreading { threadInitialCachingSemaphore.acquire(); // apply the configs for the old stack - cluster.applyLatestConfigurations(stackId); + cluster.applyLatestConfigurations(stackId, serviceName); // wake the thread up and have it verify that it can see the updated configs applyLatestConfigsSemaphore.release(); http://git-wip-us.apache.org/repos/asf/ambari/blob/56362fd6/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java b/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java index a7c53d5..150ac35 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/agent/DummyHeartbeatConstants.java @@ -36,6 +36,7 @@ public interface DummyHeartbeatConstants { String DummyHostStatus = "I am ok"; String DummyStackId = "HDP-0.1"; + String DummyRepositoryVersion = "0.1-1234"; String HDFS = "HDFS"; String HBASE = "HBASE"; @@ -46,4 +47,4 @@ public interface DummyHeartbeatConstants { String HBASE_MASTER = Role.HBASE_MASTER.name(); String HDFS_CLIENT = Role.HDFS_CLIENT.name(); -} +} \ No newline at end of file
