Repository: ambari Updated Branches: refs/heads/trunk 35333fa2d -> 3dc44a429
AMBARI-9911 - Upgrade Ambari 1.7.0 to 2.0.0 Creates alert_target_states With Invalid PK (jonathanhurley) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/3dc44a42 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/3dc44a42 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/3dc44a42 Branch: refs/heads/trunk Commit: 3dc44a4290d4d37de006b427ea719ecdbd505c40 Parents: 35333fa Author: Jonathan Hurley <jhur...@hortonworks.com> Authored: Tue Mar 3 16:23:38 2015 -0500 Committer: Jonathan Hurley <jhur...@hortonworks.com> Committed: Tue Mar 3 17:29:14 2015 -0500 ---------------------------------------------------------------------- .../server/upgrade/UpgradeCatalog200.java | 40 ++++++----- .../server/upgrade/UpgradeCatalog200Test.java | 76 ++++++++++---------- 2 files changed, 63 insertions(+), 53 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/3dc44a42/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java index 95d8300..d3b062a 100644 --- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java +++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog200.java @@ -18,8 +18,15 @@ package org.apache.ambari.server.upgrade; -import com.google.inject.Inject; -import com.google.inject.Injector; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + import org.apache.ambari.server.AmbariException; import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.controller.AmbariManagementController; @@ -54,14 +61,8 @@ import org.apache.ambari.server.state.UpgradeState; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; +import com.google.inject.Inject; +import com.google.inject.Injector; /** @@ -124,6 +125,16 @@ public class UpgradeCatalog200 extends AbstractUpgradeCatalog { createArtifactTable(); createKerberosPrincipalTables(); + // add viewparameter columns + dbAccessor.addColumn("viewparameter", new DBColumnInfo("label", + String.class, 255, null, true)); + + dbAccessor.addColumn("viewparameter", new DBColumnInfo("placeholder", + String.class, 255, null, true)); + + dbAccessor.addColumn("viewparameter", new DBColumnInfo("default_value", + String.class, 2000, null, true)); + // add security_type to clusters dbAccessor.addColumn("clusters", new DBColumnInfo( "security_type", String.class, 32, SecurityType.NONE.toString(), false)); @@ -162,16 +173,11 @@ public class UpgradeCatalog200 extends AbstractUpgradeCatalog { dbAccessor.addColumn(ALERT_TARGET_TABLE, new DBColumnInfo("is_global", Short.class, 1, 0, false)); - // add viewparameter columns - dbAccessor.addColumn("viewparameter", new DBColumnInfo("label", String.class, 255, null, true)); - dbAccessor.addColumn("viewparameter", new DBColumnInfo("placeholder", String.class, 255, null, true)); - dbAccessor.addColumn("viewparameter", new DBColumnInfo("default_value", String.class, 2000, null, true)); - // create alert_target_states table ArrayList<DBColumnInfo> columns = new ArrayList<DBColumnInfo>(); columns.add(new DBColumnInfo("target_id", Long.class, null, null, false)); columns.add(new DBColumnInfo("alert_state", String.class, 255, null, false)); - dbAccessor.createTable(ALERT_TARGET_STATES_TABLE, columns, "target_id"); + dbAccessor.createTable(ALERT_TARGET_STATES_TABLE, columns); dbAccessor.addFKConstraint(ALERT_TARGET_STATES_TABLE, "fk_alert_tgt_states_tgt_id", "target_id", ALERT_TARGET_TABLE, "target_id", false); @@ -343,7 +349,7 @@ public class UpgradeCatalog200 extends AbstractUpgradeCatalog { } } } - + } protected void updateTezConfiguration() throws AmbariException { http://git-wip-us.apache.org/repos/asf/ambari/blob/3dc44a42/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java ---------------------------------------------------------------------- diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java index 61fa5a8..cb318c1 100644 --- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java +++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog200Test.java @@ -18,13 +18,35 @@ package org.apache.ambari.server.upgrade; -import com.google.inject.AbstractModule; -import com.google.inject.Binder; -import com.google.inject.Guice; -import com.google.inject.Injector; -import com.google.inject.Module; -import com.google.inject.Provider; -import com.google.inject.persist.PersistService; +import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.assertFalse; +import static junit.framework.Assert.assertNotNull; +import static junit.framework.Assert.assertNull; +import static junit.framework.Assert.assertTrue; +import static junit.framework.Assert.fail; +import static org.easymock.EasyMock.capture; +import static org.easymock.EasyMock.createMockBuilder; +import static org.easymock.EasyMock.createNiceMock; +import static org.easymock.EasyMock.createStrictMock; +import static org.easymock.EasyMock.eq; +import static org.easymock.EasyMock.expect; +import static org.easymock.EasyMock.expectLastCall; +import static org.easymock.EasyMock.replay; +import static org.easymock.EasyMock.reset; +import static org.easymock.EasyMock.verify; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; + +import javax.persistence.EntityManager; + import org.apache.ambari.server.api.services.AmbariMetaInfo; import org.apache.ambari.server.configuration.Configuration; import org.apache.ambari.server.controller.AmbariManagementController; @@ -62,33 +84,13 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; -import javax.persistence.EntityManager; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; - -import static junit.framework.Assert.assertEquals; -import static junit.framework.Assert.assertFalse; -import static junit.framework.Assert.assertNotNull; -import static junit.framework.Assert.assertNull; -import static junit.framework.Assert.assertTrue; -import static junit.framework.Assert.fail; -import static org.easymock.EasyMock.capture; -import static org.easymock.EasyMock.createMockBuilder; -import static org.easymock.EasyMock.createNiceMock; -import static org.easymock.EasyMock.createStrictMock; -import static org.easymock.EasyMock.eq; -import static org.easymock.EasyMock.expect; -import static org.easymock.EasyMock.expectLastCall; -import static org.easymock.EasyMock.replay; -import static org.easymock.EasyMock.reset; -import static org.easymock.EasyMock.verify; +import com.google.inject.AbstractModule; +import com.google.inject.Binder; +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.google.inject.Module; +import com.google.inject.Provider; +import com.google.inject.persist.PersistService; /** * {@link UpgradeCatalog200} unit tests. @@ -164,7 +166,7 @@ public class UpgradeCatalog200Test { capture(alertDefinitionDescriptionColumnCapture)); dbAccessor.createTable(eq("alert_target_states"), - capture(alertTargetStatesCapture), eq("target_id")); + capture(alertTargetStatesCapture)); // alert target dbAccessor.addColumn(eq("alert_target"), @@ -234,8 +236,10 @@ public class UpgradeCatalog200Test { // kerberos_principal_host dbAccessor.createTable(eq("kerberos_principal_host"), capture(kerberosPrincipalHostCapture), eq("principal_name"), eq("host_name")); + dbAccessor.addFKConstraint(eq("kerberos_principal_host"), eq("FK_krb_pr_host_hostname"), eq("host_name"), eq("hosts"), eq("host_name"), eq(true), eq(false)); + dbAccessor.addFKConstraint(eq("kerberos_principal_host"), eq("FK_krb_pr_host_principalname"), eq("principal_name"), eq("kerberos_principal"), eq("principal_name"), eq(true), eq(false)); @@ -359,7 +363,7 @@ public class UpgradeCatalog200Test { expectLastCall().once(); upgradeCatalog.addNewConfigurationsFromXml(); expectLastCall(); - + upgradeCatalog.updateHiveDatabaseType(); expectLastCall().once();