You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2016/02/14 15:00:42 UTC
ambari git commit: AMBARI-15034. Add checks and alerts when
clusterconfigmapping has multiple selected entries for a config
type.(vbrodetskyi)
Repository: ambari
Updated Branches:
refs/heads/branch-2.2 441d3883a -> 47bca5f51
AMBARI-15034. Add checks and alerts when clusterconfigmapping has multiple selected entries for a config type.(vbrodetskyi)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/47bca5f5
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/47bca5f5
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/47bca5f5
Branch: refs/heads/branch-2.2
Commit: 47bca5f5147e913c64b533cbc334781c4b35451f
Parents: 441d388
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Fri Feb 12 07:56:11 2016 +0200
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Fri Feb 12 07:56:11 2016 +0200
----------------------------------------------------------------------
.../ambari/server/checks/CheckDatabaseHelper.java | 18 +++++++++---------
.../server/checks/CheckDatabaseHelperTest.java | 5 ++++-
2 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/47bca5f5/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDatabaseHelper.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDatabaseHelper.java b/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDatabaseHelper.java
index a078c8a..9213738 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDatabaseHelper.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/checks/CheckDatabaseHelper.java
@@ -152,19 +152,23 @@ public class CheckDatabaseHelper {
* than one selected version it's a bug and we are showing error message for user.
* */
protected void checkForConfigsSelectedMoreThanOnce() {
- String GET_CONFIGS_SELECTED_MORE_THAN_ONCE_QUERY = "select type_name from clusterconfigmapping group by type_name having sum(selected) > 1";
- Set<String> configsSelectedMoreThanOnce = new HashSet<>();
+ String GET_CONFIGS_SELECTED_MORE_THAN_ONCE_QUERY = "select c.cluster_name,type_name from clusterconfigmapping ccm " +
+ "join clusters c on ccm.cluster_id=c.cluster_id " +
+ "group by c.cluster_name,type_name " +
+ "having sum(selected) > 1";
+ Multimap<String, String> configsSelectedMoreThanOnce = HashMultimap.create();
ResultSet rs = null;
try {
Statement statement = connection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = statement.executeQuery(GET_CONFIGS_SELECTED_MORE_THAN_ONCE_QUERY);
if (rs != null) {
while (rs.next()) {
- configsSelectedMoreThanOnce.add(rs.getString("type_name"));
+ configsSelectedMoreThanOnce.put(rs.getString("cluster_name"), rs.getString("type_name"));
}
}
- if (!configsSelectedMoreThanOnce.isEmpty()) {
- LOG.error("You have config(s) that is(are) selected more than once in clusterconfigmapping: " + StringUtils.join(configsSelectedMoreThanOnce, ","));
+ for (String clusterName : configsSelectedMoreThanOnce.keySet()) {
+ LOG.error(String.format("You have config(s), in cluster %s, that is(are) selected more than once in clusterconfigmapping: %s",
+ clusterName ,StringUtils.join(configsSelectedMoreThanOnce.get(clusterName), ",")));
}
} catch (SQLException e) {
LOG.error("Exception occurred during check for config selected more than ones procedure: ", e);
@@ -193,10 +197,6 @@ public class CheckDatabaseHelper {
rs = statement.executeQuery(GET_HOSTS_WITHOUT_STATUS_QUERY);
if (rs != null) {
while (rs.next()) {
- LOG.error(rs.getString("host_name"));
- LOG.error(rs.getString("HOST_NAME"));
- System.out.println("ERROR" + rs.getString("HOST_NAME"));
- System.out.println("ERROR" + rs.getString("host_name"));
hostsWithoutStatus.add(rs.getString("host_name"));
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/47bca5f5/ambari-server/src/test/java/org/apache/ambari/server/checks/CheckDatabaseHelperTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/checks/CheckDatabaseHelperTest.java b/ambari-server/src/test/java/org/apache/ambari/server/checks/CheckDatabaseHelperTest.java
index e329ab7..1c2765c 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/checks/CheckDatabaseHelperTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/checks/CheckDatabaseHelperTest.java
@@ -111,7 +111,10 @@ public class CheckDatabaseHelperTest {
expect(mockDBDbAccessor.getConnection()).andReturn(mockConnection);
expect(mockConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE)).andReturn(mockStatement);
- expect(mockStatement.executeQuery("select type_name from clusterconfigmapping group by type_name having sum(selected) > 1")).andReturn(mockResultSet);
+ expect(mockStatement.executeQuery("select c.cluster_name,type_name from clusterconfigmapping ccm " +
+ "join clusters c on ccm.cluster_id=c.cluster_id " +
+ "group by c.cluster_name,type_name " +
+ "having sum(selected) > 1")).andReturn(mockResultSet);
CheckDatabaseHelper checkDatabaseHelper = new CheckDatabaseHelper(mockDBDbAccessor, mockInjector, null);