You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by dm...@apache.org on 2018/01/04 16:11:56 UTC
ambari git commit: AMBARI-22723. Ambari Upgrade failed in case if
database have no cluster_version table already. The issue with idempotence
(dlysnichenko)
Repository: ambari
Updated Branches:
refs/heads/branch-2.6 41c362eb9 -> b5da60b5a
AMBARI-22723. Ambari Upgrade failed in case if database have no cluster_version table already. The issue with idempotence (dlysnichenko)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b5da60b5
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b5da60b5
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b5da60b5
Branch: refs/heads/branch-2.6
Commit: b5da60b5ac51637e0448c3df0662a58f477cefbf
Parents: 41c362e
Author: Lisnichenko Dmitro <dl...@hortonworks.com>
Authored: Thu Jan 4 18:11:03 2018 +0200
Committer: Lisnichenko Dmitro <dl...@hortonworks.com>
Committed: Thu Jan 4 18:11:03 2018 +0200
----------------------------------------------------------------------
.../main/java/org/apache/ambari/server/orm/DBAccessorImpl.java | 3 +++
.../java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java | 3 +++
.../org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java | 1 +
3 files changed, 7 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/b5da60b5/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
index 391a6f5..658af07 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/orm/DBAccessorImpl.java
@@ -1532,6 +1532,9 @@ public class DBAccessorImpl implements DBAccessor {
public List<Integer> getIntColumnValues(String tableName, String columnName, String[] conditionColumnNames,
String[] values, boolean ignoreFailure) throws SQLException {
+ if (!tableExists(tableName)) {
+ throw new IllegalArgumentException(String.format("%s table does not exist", tableName));
+ }
if (!tableHasColumn(tableName, columnName)) {
throw new IllegalArgumentException(String.format("%s table does not contain %s column", tableName, columnName));
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/b5da60b5/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java
index 6ba1671..0d4a4a3 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog260.java
@@ -530,6 +530,9 @@ public class UpgradeCatalog260 extends AbstractUpgradeCatalog {
* @throws SQLException
*/
public Integer getCurrentVersionID() throws AmbariException, SQLException {
+ if (!dbAccessor.tableExists(CLUSTER_VERSION_TABLE)) {
+ return null;
+ }
List<Integer> currentVersionList = dbAccessor.getIntColumnValues(CLUSTER_VERSION_TABLE, REPO_VERSION_ID_COLUMN,
new String[]{STATE_COLUMN}, new String[]{CURRENT}, false);
if (currentVersionList.isEmpty()) {
http://git-wip-us.apache.org/repos/asf/ambari/blob/b5da60b5/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
index e93cd13..0e2ecb2 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog260Test.java
@@ -516,6 +516,7 @@ public class UpgradeCatalog260Test {
}
public void expectGetCurrentVersionID(List<Integer> current, Capture<String[]> scdcaptureKey, Capture<String[]> scdcaptureValue) throws SQLException {
+ expect(dbAccessor.tableExists(eq("cluster_version"))).andReturn(true).once();
expect(dbAccessor.getIntColumnValues(eq("cluster_version"), eq("repo_version_id"),
capture(scdcaptureKey), capture(scdcaptureValue), eq(false))).andReturn(current).once();
}