You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mp...@apache.org on 2015/05/18 19:21:35 UTC
[1/2] ambari git commit: AMBARI-11219. Create Default Upgrade Catalog
to upgrade the schema version to the current Ambari Server Versions.
(mpapirkovskyy)
Repository: ambari
Updated Branches:
refs/heads/trunk b19cee169 -> 3c4e9111e
AMBARI-11219. Create Default Upgrade Catalog to upgrade the schema version to the current Ambari Server Versions. (mpapirkovskyy)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3c4e9111
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3c4e9111
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3c4e9111
Branch: refs/heads/trunk
Commit: 3c4e9111ef95015ab4a365b08008ee5e6ec08b72
Parents: efbc665
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Mon May 18 19:19:43 2015 +0300
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Mon May 18 20:21:29 2015 +0300
----------------------------------------------------------------------
.../server/configuration/Configuration.java | 13 ++++
.../server/upgrade/AbstractUpgradeCatalog.java | 11 ++++
.../server/upgrade/FinalUpgradeCatalog.java | 66 ++++++++++++++++++++
.../server/upgrade/SchemaUpgradeHelper.java | 9 +--
.../ambari/server/upgrade/UpgradeCatalog.java | 6 ++
.../ambari/server/upgrade/UpgradeTest.java | 5 ++
6 files changed, 103 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/3c4e9111/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
index 3ceb05b..d8f89b2 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/configuration/Configuration.java
@@ -843,6 +843,19 @@ public class Configuration {
}
/**
+ * Gets ambari server version
+ * @return version String
+ */
+ public String getServerVersion() {
+ try {
+ return FileUtils.readFileToString(new File(getServerVersionFilePath())).trim();
+ } catch (IOException e) {
+ LOG.error("Unable to read server version file", e);
+ }
+ return null;
+ }
+
+ /**
* Check to see if the API should be authenticated or not
* @return false if not, true if the authentication is enabled.
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/3c4e9111/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
index ec63512..c16c664 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/AbstractUpgradeCatalog.java
@@ -76,6 +76,7 @@ public abstract class AbstractUpgradeCatalog implements UpgradeCatalog {
@Inject
public AbstractUpgradeCatalog(Injector injector) {
this.injector = injector;
+ injector.injectMembers(this);
registerCatalog(this);
}
@@ -100,6 +101,11 @@ public abstract class AbstractUpgradeCatalog implements UpgradeCatalog {
@Override
public int compare(UpgradeCatalog upgradeCatalog1,
UpgradeCatalog upgradeCatalog2) {
+ //make sure FinalUpgradeCatalog runs last
+ if (upgradeCatalog1.isFinal() ^ upgradeCatalog2.isFinal()) {
+ return Boolean.compare(upgradeCatalog1.isFinal(), upgradeCatalog2.isFinal());
+ }
+
return VersionUtils.compareVersions(upgradeCatalog1.getTargetVersion(),
upgradeCatalog2.getTargetVersion(), 3);
}
@@ -382,6 +388,11 @@ public abstract class AbstractUpgradeCatalog implements UpgradeCatalog {
updateMetaInfoVersion(getTargetVersion());
}
+ @Override
+ public boolean isFinal() {
+ return false;
+ }
+
protected abstract void executeDDLUpdates() throws AmbariException, SQLException;
/**
http://git-wip-us.apache.org/repos/asf/ambari/blob/3c4e9111/ambari-server/src/main/java/org/apache/ambari/server/upgrade/FinalUpgradeCatalog.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/FinalUpgradeCatalog.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/FinalUpgradeCatalog.java
new file mode 100644
index 0000000..334afaf
--- /dev/null
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/FinalUpgradeCatalog.java
@@ -0,0 +1,66 @@
+/**
+ * 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
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.ambari.server.upgrade;
+
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import org.apache.ambari.server.AmbariException;
+import org.apache.ambari.server.utils.VersionUtils;
+
+import java.sql.SQLException;
+
+/**
+ * Final upgrade catalog which simply updates database version (in case if no db changes between releases)
+ */
+public class FinalUpgradeCatalog extends AbstractUpgradeCatalog {
+
+ @Inject
+ public FinalUpgradeCatalog(Injector injector) {
+ super(injector);
+ }
+
+ @Override
+ protected void executeDDLUpdates() throws AmbariException, SQLException {
+ //noop
+ }
+
+ @Override
+ protected void executePreDMLUpdates() throws AmbariException, SQLException {
+ //noop
+ }
+
+ @Override
+ protected void executeDMLUpdates() throws AmbariException, SQLException {
+ //noop
+ }
+
+ @Override
+ public String getTargetVersion() {
+ return getFinalVersion();
+ }
+
+ @Override
+ public boolean isFinal() {
+ return true;
+ }
+
+ private String getFinalVersion() {
+ return VersionUtils.getVersionSubstring(configuration.getServerVersion());
+ }
+}
http://git-wip-us.apache.org/repos/asf/ambari/blob/3c4e9111/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 a8f719a..f1ff33f 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
@@ -108,13 +108,7 @@ public class SchemaUpgradeHelper {
* @return
*/
protected String getAmbariServerVersion() {
- String versionFilePath = configuration.getServerVersionFilePath();
- try {
- return FileUtils.readFileToString(new File(versionFilePath)).trim();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
+ return configuration.getServerVersion();
}
/**
@@ -175,6 +169,7 @@ public class SchemaUpgradeHelper {
catalogBinder.addBinding().to(UpgradeCatalog170.class);
catalogBinder.addBinding().to(UpgradeCatalog200.class);
catalogBinder.addBinding().to(UpgradeCatalog210.class);
+ catalogBinder.addBinding().to(FinalUpgradeCatalog.class);
}
}
http://git-wip-us.apache.org/repos/asf/ambari/blob/3c4e9111/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
index 2b96a57..976cc99 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog.java
@@ -47,6 +47,12 @@ public interface UpgradeCatalog {
void upgradeData() throws AmbariException, SQLException;
/**
+ * Defines if Upgrade Catalog should be executed last
+ * @return
+ */
+ boolean isFinal();
+
+ /**
* Called after {@link #upgradeSchema()} and {@link #upgradeData()}, this
* method is used to perform any operations after the catalog has finished.
* Usually, this is cleanup work that does not directly affect the upgrade.
http://git-wip-us.apache.org/repos/asf/ambari/blob/3c4e9111/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
index 0ca5bb0..3af417f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeTest.java
@@ -74,6 +74,8 @@ import com.google.inject.Key;
import com.google.inject.TypeLiteral;
import com.google.inject.persist.PersistService;
+import static org.junit.Assert.assertTrue;
+
@RunWith(Parameterized.class)
public class UpgradeTest {
private static final Logger LOG = LoggerFactory.getLogger(UpgradeTest.class);
@@ -199,6 +201,9 @@ public class UpgradeTest {
List<UpgradeCatalog> upgradeCatalogs =
schemaUpgradeHelper.getUpgradePath(sourceVersion, targetVersion);
+ assertTrue("Final Upgrade Catalog should be run last",
+ !upgradeCatalogs.isEmpty() && upgradeCatalogs.get(upgradeCatalogs.size() - 1).isFinal());
+
try {
schemaUpgradeHelper.executeUpgrade(upgradeCatalogs);
} catch (Exception e) {
[2/2] ambari git commit: AMBARI-11221. ORA-00942: table or view does
not exist when executing Ambari-DDL-Oracle-CREATE.sql. (mpapirkovskyy)
Posted by mp...@apache.org.
AMBARI-11221. ORA-00942: table or view does not exist when executing Ambari-DDL-Oracle-CREATE.sql. (mpapirkovskyy)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/efbc665c
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/efbc665c
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/efbc665c
Branch: refs/heads/trunk
Commit: efbc665c783b40ee0c2a465597cd0d601ab248a8
Parents: b19cee1
Author: Myroslav Papirkovskyy <mp...@hortonworks.com>
Authored: Mon May 18 20:10:55 2015 +0300
Committer: Myroslav Papirkovskyy <mp...@hortonworks.com>
Committed: Mon May 18 20:21:29 2015 +0300
----------------------------------------------------------------------
.../main/resources/Ambari-DDL-Oracle-CREATE.sql | 25 --------------------
1 file changed, 25 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/efbc665c/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 d092e76..fdd5ef8 100644
--- a/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
+++ b/ambari-server/src/main/resources/Ambari-DDL-Oracle-CREATE.sql
@@ -1042,31 +1042,6 @@ CREATE TABLE clusterEvent (
-- Quartz tables
-delete from qrtz_fired_triggers;
-delete from qrtz_simple_triggers;
-delete from qrtz_simprop_triggers;
-delete from qrtz_cron_triggers;
-delete from qrtz_blob_triggers;
-delete from qrtz_triggers;
-delete from qrtz_job_details;
-delete from qrtz_calendars;
-delete from qrtz_paused_trigger_grps;
-delete from qrtz_locks;
-delete from qrtz_scheduler_state;
-
-drop table qrtz_calendars;
-drop table qrtz_fired_triggers;
-drop table qrtz_blob_triggers;
-drop table qrtz_cron_triggers;
-drop table qrtz_simple_triggers;
-drop table qrtz_simprop_triggers;
-drop table qrtz_triggers;
-drop table qrtz_job_details;
-drop table qrtz_paused_trigger_grps;
-drop table qrtz_locks;
-drop table qrtz_scheduler_state;
-
-
CREATE TABLE qrtz_job_details
(
SCHED_NAME VARCHAR2(120) NOT NULL,