[26/50] [abbrv] ambari git commit: AMBARI-19957. Implement new DB checks for Postgres to prevent cross-schema confusion. (Balazs Bence Sari via stoader)

2017-02-17 Thread ncole
AMBARI-19957. Implement new DB checks for Postgres to prevent cross-schema 
confusion. (Balazs Bence Sari via stoader)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fa527360
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fa527360
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fa527360

Branch: refs/heads/branch-feature-AMBARI-12556
Commit: fa527360b28e956e3e931449e8740ed07ed407ed
Parents: 8448d5a
Author: Balazs Bence Sari 
Authored: Thu Feb 16 13:08:46 2017 +0100
Committer: Toader, Sebastian 
Committed: Thu Feb 16 13:08:46 2017 +0100

--
 .../checks/DatabaseConsistencyCheckHelper.java  | 303 ++-
 .../checks/DatabaseConsistencyCheckResult.java  |  50 +++
 .../checks/DatabaseConsistencyChecker.java  |   6 +-
 .../ambari/server/controller/AmbariServer.java  |  43 +--
 .../src/main/python/ambari_server_main.py   |  19 +-
 .../DatabaseConsistencyCheckHelperTest.java | 143 -
 6 files changed, 379 insertions(+), 185 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/fa527360/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 7aa8652..926ec65 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
@@ -20,7 +20,6 @@ package org.apache.ambari.server.checks;
 import java.io.File;
 import java.io.IOException;
 import java.sql.Connection;
-import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -31,9 +30,11 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Scanner;
 import java.util.Set;
 
+import javax.annotation.Nullable;
 import javax.inject.Provider;
 import javax.persistence.EntityManager;
 import javax.persistence.TypedQuery;
@@ -59,7 +60,9 @@ import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Splitter;
 import com.google.common.collect.HashMultimap;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Multimap;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
@@ -77,21 +80,54 @@ public class DatabaseConsistencyCheckHelper {
   private static AmbariMetaInfo ambariMetaInfo;
   private static DBAccessor dbAccessor;
 
+  private static DatabaseConsistencyCheckResult checkResult = 
DatabaseConsistencyCheckResult.DB_CHECK_SUCCESS;
 
-  private static boolean errorsFound = false;
-  private static boolean warningsFound = false;
+  /**
+   * @return The result of the DB cheks run so far.
+   */
+  public static DatabaseConsistencyCheckResult getLastCheckResult() {
+return checkResult;
+  }
 
-  public static boolean ifErrorsFound() {
-return errorsFound;
+  /**
+   * Reset check result to {@link 
DatabaseConsistencyCheckResult#DB_CHECK_SUCCESS}.
+   */
+  public static void resetCheckResult() {
+checkResult = DatabaseConsistencyCheckResult.DB_CHECK_SUCCESS;
   }
 
-  public static boolean ifWarningsFound() {
-return warningsFound;
+  /**
+   * Called internally to set the result of the DB checks. The new result is 
only recorded if it is more severe than
+   * the existing result.
+   *
+* @param newResult the new result
+   */
+  private static void setCheckResult(DatabaseConsistencyCheckResult newResult) 
{
+if (newResult.ordinal() > checkResult.ordinal()) {
+  checkResult = newResult;
+}
   }
 
-  public static void resetErrorWarningFlags() {
-errorsFound = false;
-warningsFound = false;
+  /**
+   * Called to indicate a warning during checks
+   *
+   * @param messageTemplate Message template (log4j format)
+   * @param messageParams Message params
+   */
+  private static void warning(String messageTemplate, Object... messageParams) 
{
+LOG.warn(messageTemplate, messageParams);
+setCheckResult(DatabaseConsistencyCheckResult.DB_CHECK_WARNING);
+  }
+
+  /**
+   * Called to indicate an error during checks
+   *
+   * @param messageTemplate Message template (log4j format)
+   * @param messageParams Message params
+   */
+  private static void error(String messageTemplate, Object... messageParams) {
+LOG.error(messageTemplate, messageParams);
+setCheckResult(DatabaseConsistencyCheckResult.DB_CHECK_ERROR);

ambari git commit: AMBARI-19957. Implement new DB checks for Postgres to prevent cross-schema confusion. (Balazs Bence Sari via stoader)

2017-02-16 Thread stoader
Repository: ambari
Updated Branches:
  refs/heads/branch-2.5 2a5064d0a -> 04ec37d24


AMBARI-19957. Implement new DB checks for Postgres to prevent cross-schema 
confusion. (Balazs Bence Sari via stoader)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/04ec37d2
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/04ec37d2
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/04ec37d2

Branch: refs/heads/branch-2.5
Commit: 04ec37d24800a78d628920c8a53306f1bc54d5c0
Parents: 2a5064d
Author: Balazs Bence Sari 
Authored: Thu Feb 16 14:13:21 2017 +0100
Committer: Toader, Sebastian 
Committed: Thu Feb 16 14:13:40 2017 +0100

--
 .../checks/DatabaseConsistencyCheckHelper.java  | 299 ++-
 .../checks/DatabaseConsistencyCheckResult.java  |  50 
 .../checks/DatabaseConsistencyChecker.java  |   6 +-
 .../ambari/server/controller/AmbariServer.java  |  43 +--
 .../src/main/python/ambari_server_main.py   |  23 +-
 .../DatabaseConsistencyCheckHelperTest.java | 148 -
 6 files changed, 384 insertions(+), 185 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/04ec37d2/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 878d0fa..b4630a6 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
@@ -20,7 +20,6 @@ package org.apache.ambari.server.checks;
 import java.io.File;
 import java.io.IOException;
 import java.sql.Connection;
-import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -31,9 +30,11 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Scanner;
 import java.util.Set;
 
+import javax.annotation.Nullable;
 import javax.inject.Provider;
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
@@ -59,7 +60,9 @@ import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Splitter;
 import com.google.common.collect.HashMultimap;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Multimap;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
@@ -77,21 +80,55 @@ public class DatabaseConsistencyCheckHelper {
   private static AmbariMetaInfo ambariMetaInfo;
   private static DBAccessor dbAccessor;
 
+  private static DatabaseConsistencyCheckResult checkResult = 
DatabaseConsistencyCheckResult.DB_CHECK_SUCCESS;
 
-  private static boolean errorsFound = false;
-  private static boolean warningsFound = false;
 
-  public static boolean ifErrorsFound() {
-return errorsFound;
+  /**
+   * @return The result of the DB cheks run so far.
+   */
+  public static DatabaseConsistencyCheckResult getLastCheckResult() {
+return checkResult;
+  }
+
+  /**
+   * Reset check result to {@link 
DatabaseConsistencyCheckResult#DB_CHECK_SUCCESS}.
+   */
+  public static void resetCheckResult() {
+checkResult = DatabaseConsistencyCheckResult.DB_CHECK_SUCCESS;
   }
 
-  public static boolean ifWarningsFound() {
-return warningsFound;
+  /**
+   * Called internally to set the result of the DB checks. The new result is 
only recorded if it is more severe than
+   * the existing result.
+   *
+* @param newResult the new result
+   */
+  private static void setCheckResult(DatabaseConsistencyCheckResult newResult) 
{
+if (newResult.ordinal() > checkResult.ordinal()) {
+  checkResult = newResult;
+}
   }
 
-  public static void resetErrorWarningFlags() {
-errorsFound = false;
-warningsFound = false;
+  /**
+   * Called to indicate a warning during checks
+   *
+   * @param messageTemplate Message template (log4j format)
+   * @param messageParams Message params
+   */
+  private static void warning(String messageTemplate, Object... messageParams) 
{
+LOG.warn(messageTemplate, messageParams);
+setCheckResult(DatabaseConsistencyCheckResult.DB_CHECK_WARNING);
+  }
+
+  /**
+   * Called to indicate an error during checks
+   *
+   * @param messageTemplate Message template (log4j format)
+   * @param messageParams Message params
+   */
+  private static void error(String messageTemplate, Object... messageParams) {
+LOG.error(messageTemplate, messageParams);
+

ambari git commit: AMBARI-19957. Implement new DB checks for Postgres to prevent cross-schema confusion. (Balazs Bence Sari via stoader)

2017-02-16 Thread stoader
Repository: ambari
Updated Branches:
  refs/heads/trunk 8448d5a18 -> fa527360b


AMBARI-19957. Implement new DB checks for Postgres to prevent cross-schema 
confusion. (Balazs Bence Sari via stoader)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/fa527360
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/fa527360
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/fa527360

Branch: refs/heads/trunk
Commit: fa527360b28e956e3e931449e8740ed07ed407ed
Parents: 8448d5a
Author: Balazs Bence Sari 
Authored: Thu Feb 16 13:08:46 2017 +0100
Committer: Toader, Sebastian 
Committed: Thu Feb 16 13:08:46 2017 +0100

--
 .../checks/DatabaseConsistencyCheckHelper.java  | 303 ++-
 .../checks/DatabaseConsistencyCheckResult.java  |  50 +++
 .../checks/DatabaseConsistencyChecker.java  |   6 +-
 .../ambari/server/controller/AmbariServer.java  |  43 +--
 .../src/main/python/ambari_server_main.py   |  19 +-
 .../DatabaseConsistencyCheckHelperTest.java | 143 -
 6 files changed, 379 insertions(+), 185 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/ambari/blob/fa527360/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 7aa8652..926ec65 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
@@ -20,7 +20,6 @@ package org.apache.ambari.server.checks;
 import java.io.File;
 import java.io.IOException;
 import java.sql.Connection;
-import java.sql.DatabaseMetaData;
 import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Statement;
@@ -31,9 +30,11 @@ import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Scanner;
 import java.util.Set;
 
+import javax.annotation.Nullable;
 import javax.inject.Provider;
 import javax.persistence.EntityManager;
 import javax.persistence.TypedQuery;
@@ -59,7 +60,9 @@ import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.google.common.base.Splitter;
 import com.google.common.collect.HashMultimap;
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Multimap;
 import com.google.inject.Inject;
 import com.google.inject.Injector;
@@ -77,21 +80,54 @@ public class DatabaseConsistencyCheckHelper {
   private static AmbariMetaInfo ambariMetaInfo;
   private static DBAccessor dbAccessor;
 
+  private static DatabaseConsistencyCheckResult checkResult = 
DatabaseConsistencyCheckResult.DB_CHECK_SUCCESS;
 
-  private static boolean errorsFound = false;
-  private static boolean warningsFound = false;
+  /**
+   * @return The result of the DB cheks run so far.
+   */
+  public static DatabaseConsistencyCheckResult getLastCheckResult() {
+return checkResult;
+  }
 
-  public static boolean ifErrorsFound() {
-return errorsFound;
+  /**
+   * Reset check result to {@link 
DatabaseConsistencyCheckResult#DB_CHECK_SUCCESS}.
+   */
+  public static void resetCheckResult() {
+checkResult = DatabaseConsistencyCheckResult.DB_CHECK_SUCCESS;
   }
 
-  public static boolean ifWarningsFound() {
-return warningsFound;
+  /**
+   * Called internally to set the result of the DB checks. The new result is 
only recorded if it is more severe than
+   * the existing result.
+   *
+* @param newResult the new result
+   */
+  private static void setCheckResult(DatabaseConsistencyCheckResult newResult) 
{
+if (newResult.ordinal() > checkResult.ordinal()) {
+  checkResult = newResult;
+}
   }
 
-  public static void resetErrorWarningFlags() {
-errorsFound = false;
-warningsFound = false;
+  /**
+   * Called to indicate a warning during checks
+   *
+   * @param messageTemplate Message template (log4j format)
+   * @param messageParams Message params
+   */
+  private static void warning(String messageTemplate, Object... messageParams) 
{
+LOG.warn(messageTemplate, messageParams);
+setCheckResult(DatabaseConsistencyCheckResult.DB_CHECK_WARNING);
+  }
+
+  /**
+   * Called to indicate an error during checks
+   *
+   * @param messageTemplate Message template (log4j format)
+   * @param messageParams Message params
+   */
+  private static void error(String messageTemplate, Object... messageParams) {
+LOG.error(messageTemplate, messageParams);
+setC