Procházet zdrojové kódy

AMBARI-7866 - Unable to create new user group after upgrade from 1.6.1 to 1.7.0

tbeerbower před 10 roky
rodič
revize
747b5c4c93

+ 1 - 1
ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog170.java

@@ -172,7 +172,7 @@ public class UpgradeCatalog170 extends AbstractUpgradeCatalog {
     columns = new ArrayList<DBColumnInfo>();
     columns.add(new DBColumnInfo("group_id", Integer.class, 1, null, false));
     columns.add(new DBColumnInfo("principal_id", Integer.class, 1, null, false));
-    columns.add(new DBColumnInfo("group_name", String.class, 1, null, false));
+    columns.add(new DBColumnInfo("group_name", String.class, 255, null, false));
     columns.add(new DBColumnInfo("ldap_group", Integer.class, 1, 0, false));
     dbAccessor.createTable("groups", columns, "group_id");
 

+ 13 - 0
ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog170Test.java

@@ -303,6 +303,7 @@ public class UpgradeCatalog170Test {
     Capture<DBAccessor.DBColumnInfo> maskedColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
     Capture<DBAccessor.DBColumnInfo> stageCommandParamsColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
     Capture<DBAccessor.DBColumnInfo> stageHostParamsColumnCapture = new Capture<DBAccessor.DBColumnInfo>();
+    Capture<List<DBAccessor.DBColumnInfo>> groupsCapture = new Capture<List<DBAccessor.DBColumnInfo>>();
     Capture<List<DBAccessor.DBColumnInfo>> alertDefinitionColumnCapture = new Capture<List<DBAccessor.DBColumnInfo>>();
     Capture<List<DBAccessor.DBColumnInfo>> alertHistoryColumnCapture = new Capture<List<DBAccessor.DBColumnInfo>>();
     Capture<List<DBAccessor.DBColumnInfo>> alertCurrentColumnCapture = new Capture<List<DBAccessor.DBColumnInfo>>();
@@ -317,6 +318,9 @@ public class UpgradeCatalog170Test {
     Capture<DBAccessor.DBColumnInfo> configDataBlueprintConfigurationCapture = new Capture<DBAccessor.DBColumnInfo>();
     Capture<DBAccessor.DBColumnInfo> configDataHostGroupConfigurationCapture = new Capture<DBAccessor.DBColumnInfo>();
 
+    dbAccessor.createTable(eq("groups"),
+        capture(groupsCapture), eq("group_id"));
+
     setViewExpectations(dbAccessor, maskColumnCapture, systemColumnCapture);
     setViewParameterExpectations(dbAccessor, maskedColumnCapture);
     setClusterConfigExpectations(dbAccessor, clusterConfigAttributesColumnCapture);
@@ -379,6 +383,15 @@ public class UpgradeCatalog170Test {
     assertViewParameterColumns(maskedColumnCapture);
     assertStageColumns(stageCommandParamsColumnCapture, stageHostParamsColumnCapture);
 
+    assertEquals(4, groupsCapture.getValue().size());
+    List<DBAccessor.DBColumnInfo> columnInfoList = groupsCapture.getValue();
+    for (DBAccessor.DBColumnInfo info : columnInfoList) {
+      if (info.getName().equals("group_name")) {
+        assertEquals(Integer.valueOf(255), info.getLength());
+        break;
+      }
+    }
+
     assertEquals(12, alertDefinitionColumnCapture.getValue().size());
     assertEquals(11, alertHistoryColumnCapture.getValue().size());
     assertEquals(7, alertCurrentColumnCapture.getValue().size());