You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by jo...@apache.org on 2017/05/03 16:47:31 UTC
[48/53] [abbrv] ambari git commit: AMBARI-20875. Removing A Service
Causes DB Verification To Produce Warnings (dlysnichenko)
AMBARI-20875. Removing A Service Causes DB Verification To Produce Warnings (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b061b1be
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b061b1be
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b061b1be
Branch: refs/heads/branch-feature-AMBARI-12556
Commit: b061b1be2dca70d73ff82b873a83aad003c18a1a
Parents: ff1de98
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Wed May 3 15:23:41 2017 +0300
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Wed May 3 15:23:41 2017 +0300
----------------------------------------------------------------------
.../server/checks/DatabaseConsistencyCheckHelper.java | 9 +++++++--
.../ambari/server/orm/entities/ClusterConfigEntity.java | 11 +++++++++++
.../java/org/apache/ambari/server/state/ServiceImpl.java | 2 +-
.../ambari/server/upgrade/SchemaUpgradeHelper.java | 1 +
.../src/main/resources/Ambari-DDL-Derby-CREATE.sql | 1 +
.../src/main/resources/Ambari-DDL-MySQL-CREATE.sql | 1 +
.../src/main/resources/Ambari-DDL-Oracle-CREATE.sql | 1 +
.../src/main/resources/Ambari-DDL-Postgres-CREATE.sql | 1 +
.../src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql | 1 +
.../src/main/resources/Ambari-DDL-SQLServer-CREATE.sql | 1 +
10 files changed, 26 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
index 0b7f122..7c40c83 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelper.java
@@ -630,6 +630,9 @@ public class DatabaseConsistencyCheckHelper {
List<ClusterConfigEntity> notMappedClusterConfigs = getNotMappedClusterConfigsToService();
for (ClusterConfigEntity clusterConfigEntity : notMappedClusterConfigs){
+ if (!clusterConfigEntity.isServiceDeleted()){
+ continue; // skip clusterConfigs that did not leave after service deletion
+ }
List<String> types = new ArrayList<>();
String type = clusterConfigEntity.getType();
types.add(type);
@@ -662,9 +665,11 @@ public class DatabaseConsistencyCheckHelper {
Set<String> nonMappedConfigs = new HashSet<>();
for (ClusterConfigEntity clusterConfigEntity : notMappedClasterConfigs) {
- nonMappedConfigs.add(clusterConfigEntity.getType() + '-' + clusterConfigEntity.getTag());
+ if (!clusterConfigEntity.isServiceDeleted()){
+ nonMappedConfigs.add(clusterConfigEntity.getType() + '-' + clusterConfigEntity.getTag());
+ }
}
- if (!notMappedClasterConfigs.isEmpty()){
+ if (!nonMappedConfigs.isEmpty()){
warning("You have config(s): {} that is(are) not mapped (in serviceconfigmapping table) to any service!", StringUtils.join(nonMappedConfigs, ","));
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
index 876063d..1092ac5 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/entities/ClusterConfigEntity.java
@@ -129,6 +129,9 @@ public class ClusterConfigEntity {
@ManyToMany(mappedBy = "clusterConfigEntities")
private Collection<ServiceConfigEntity> serviceConfigEntities;
+ @Column(name = "service_deleted", nullable = false, insertable = true, updatable = true)
+ private short serviceDeleted = 0;
+
/**
* Unidirectional one-to-one association to {@link StackEntity}
*/
@@ -136,6 +139,14 @@ public class ClusterConfigEntity {
@JoinColumn(name = "stack_id", unique = false, nullable = false, insertable = true, updatable = true)
private StackEntity stack;
+ public boolean isServiceDeleted() {
+ return serviceDeleted != 0;
+ }
+
+ public void setServiceDeleted(boolean serviceDeleted) {
+ this.serviceDeleted = (short)(serviceDeleted ? 1 : 0);
+ }
+
public Long getConfigId() {
return configId;
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/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 a0c0db1..61f44cc 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
@@ -492,12 +492,12 @@ public class ServiceImpl implements Service {
void deleteAllServiceConfigs() throws AmbariException {
long clusterId = getClusterId();
ServiceConfigEntity lastServiceConfigEntity = serviceConfigDAO.findMaxVersion(clusterId, getName());
-
// de-select every configuration from the service
if (lastServiceConfigEntity != null) {
for (ClusterConfigEntity serviceConfigEntity : lastServiceConfigEntity.getClusterConfigEntities()) {
LOG.info("Disabling configuration {}", serviceConfigEntity);
serviceConfigEntity.setSelected(false);
+ serviceConfigEntity.setServiceDeleted(true);
clusterDAO.merge(serviceConfigEntity);
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
index d022f1f..48cf5f6 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeHelper.java
@@ -190,6 +190,7 @@ public class SchemaUpgradeHelper {
catalogBinder.addBinding().to(UpgradeCatalog242.class);
catalogBinder.addBinding().to(UpgradeCatalog250.class);
catalogBinder.addBinding().to(UpgradeCatalog251.class);
+ catalogBinder.addBinding().to(UpgradeCatalog252.class);
catalogBinder.addBinding().to(UpgradeCatalog300.class);
catalogBinder.addBinding().to(FinalUpgradeCatalog.class);
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/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 b241dc2..ece6600 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Derby-CREATE.sql
@@ -76,6 +76,7 @@ CREATE TABLE clusterconfig (
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),
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/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 670bf17..e0f2ef9 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-MySQL-CREATE.sql
@@ -96,6 +96,7 @@ CREATE TABLE clusterconfig (
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),
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/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 00b3248..6d0f856 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -76,6 +76,7 @@ CREATE TABLE clusterconfig (
config_data CLOB NOT NULL,
config_attributes CLOB,
create_timestamp NUMBER(19) NOT NULL,
+ service_deleted SMALLINT NOT NULL DEFAULT 0,
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),
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/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 f6af968..49b956b 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Postgres-CREATE.sql
@@ -76,6 +76,7 @@ CREATE TABLE clusterconfig (
config_data TEXT NOT NULL,
config_attributes TEXT,
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),
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/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 64a0137..c594a2e 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLAnywhere-CREATE.sql
@@ -75,6 +75,7 @@ CREATE TABLE clusterconfig (
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),
http://git-wip-us.apache.org/repos/asf/ambari/blob/b061b1be/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 22b2c3d..77459a6 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-SQLServer-CREATE.sql
@@ -89,6 +89,7 @@ CREATE TABLE clusterconfig (
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),