This is an automated email from the ASF dual-hosted git repository.

jialiang pushed a commit to branch upgrade/jdk-spring-dependencies
in repository https://gitbox.apache.org/repos/asf/ambari.git


The following commit(s) were added to 
refs/heads/upgrade/jdk-spring-dependencies by this push:
     new 3d2f9f6dc7 AMBARI-26215: Fix BlueprintConfigurationProcessorTest and 
others (#3863)
3d2f9f6dc7 is described below

commit 3d2f9f6dc789fe82826362b5c711d1795ca4013e
Author: jialiang <[email protected]>
AuthorDate: Thu Oct 31 09:29:25 2024 +0800

    AMBARI-26215: Fix BlueprintConfigurationProcessorTest and others (#3863)
    
    * AMBARI-26215: Fix BlueprintConfigurationProcessorTest and others
---
 .../checks/DatabaseConsistencyCheckHelper.java     |  4 +--
 .../internal/BlueprintConfigurationProcessor.java  | 23 ++++++++++++--
 .../checks/DatabaseConsistencyCheckHelperTest.java |  2 +-
 .../checks/HostsRepositoryVersionCheckTest.java    | 37 ++++------------------
 .../BlueprintConfigurationProcessorTest.java       | 16 +++++++---
 .../VersionDefinitionResourceProviderTest.java     |  2 +-
 6 files changed, 43 insertions(+), 41 deletions(-)

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 df5482d2d7..81153ea7e7 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
@@ -264,12 +264,12 @@ public class DatabaseConsistencyCheckHelper {
    */
   static void checkForLargeTables() {
     LOG.info("Checking for tables with large physical size");
+    ensureConnection();
+
     if (dbAccessor.getDbType() == DBAccessor.DbType.H2) {
       return;
     }
 
-    ensureConnection();
-
     DBAccessor.DbType dbType = dbAccessor.getDbType();
     String schemaName = dbAccessor.getDbSchema();
 
diff --git 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
index bd060c8ea9..8f88e047ad 100644
--- 
a/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
+++ 
b/ambari-server/src/main/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessor.java
@@ -2268,8 +2268,21 @@ public class BlueprintConfigurationProcessor {
      */
     private boolean isDatabaseManaged(Map<String, Map<String, String>> 
properties) {
       // conditional property should always exist since it is required to be 
specified in the stack
-      return properties.get(configPropertyType).
-        get(conditionalPropertyName).startsWith("New");
+      Map<String, String> configMap = properties.get(configPropertyType);
+      if (configMap == null) {
+        LOG.warn("Config map is null for property type: {}", 
configPropertyType);
+        return false;
+      }
+
+      String conditionalValue = configMap.get(conditionalPropertyName);
+      if (conditionalValue == null) {
+        LOG.warn("Conditional value is null for property name: {}", 
conditionalPropertyName);
+        return false;
+      }
+
+      boolean isManaged = conditionalValue.startsWith("New");
+      LOG.info("Database managed status: {} for value: {}", isManaged, 
conditionalValue);
+      return isManaged;
     }
   }
 
@@ -2585,6 +2598,12 @@ public class BlueprintConfigurationProcessor {
       return doFormat(propertyUpdater.updateForClusterCreate(propertyName, 
origValue, properties, topology));
     }
 
+    @Override
+    public String updateForBlueprintExport(String propertyName, String value, 
Map<String, Map<String, String>> properties, ClusterTopology topology) {
+      return doFormat(propertyUpdater.updateForBlueprintExport(propertyName, 
value, properties, topology));
+    }
+
+
     /**
      * Transform input string to required output format.
      *
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
index aa89e4d99e..190359d5bb 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/checks/DatabaseConsistencyCheckHelperTest.java
@@ -522,7 +522,7 @@ public class DatabaseConsistencyCheckHelperTest {
     expect(requestResultSet.getLong(1)).andReturn(1111L).atLeastOnce();
     expect(alertHistoryResultSet.getLong(1)).andReturn(2223L).atLeastOnce();
     expect(mockDBDbAccessor.getConnection()).andReturn(mockConnection);
-    expect(mockDBDbAccessor.getDbType()).andReturn(DBAccessor.DbType.MYSQL);
+    
expect(mockDBDbAccessor.getDbType()).andReturn(DBAccessor.DbType.MYSQL).anyTimes();
     expect(mockDBDbAccessor.getDbSchema()).andReturn("test_schema");
     expect(mockConnection.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, 
ResultSet.CONCUR_UPDATABLE)).andReturn(mockStatement).anyTimes();
     expect(mockStatement.executeQuery("SELECT (data_length + index_length) 
\"Table Size\" " +
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
index 99ce6047df..96626c0a56 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/checks/HostsRepositoryVersionCheckTest.java
@@ -87,21 +87,13 @@ public class HostsRepositoryVersionCheckTest {
 
     StackId stackId = new StackId("HDP", "1.0");
     String version = "1.0.0.0-1234";
-
-    Mockito.when(m_repositoryVersion.getId()).thenReturn(1L);
-    
Mockito.when(m_repositoryVersion.getRepositoryType()).thenReturn(RepositoryType.STANDARD);
+    
     
Mockito.when(m_repositoryVersion.getStackId()).thenReturn(stackId.toString());
     Mockito.when(m_repositoryVersion.getVersion()).thenReturn(version);
-
-    
Mockito.when(m_repositoryVersionEntity.getType()).thenReturn(RepositoryType.STANDARD);
-    Mockito.when(m_repositoryVersionEntity.getVersion()).thenReturn(version);
+    
     Mockito.when(m_repositoryVersionEntity.getStackId()).thenReturn(stackId);
-    
Mockito.when(m_repositoryVersionEntity.getRepositoryXml()).thenReturn(m_vdfXml);
-    Mockito.when(m_vdfXml.getClusterSummary(Mockito.any(Cluster.class), 
Mockito.any(AmbariMetaInfo.class))).thenReturn(m_clusterVersionSummary);
-    
Mockito.when(m_clusterVersionSummary.getAvailableServiceNames()).thenReturn(m_services.keySet());
 
     m_checkHelper.m_clusters = clusters;
-    
Mockito.when(m_checkHelper.m_repositoryVersionDAO.findByPK(Mockito.anyLong())).thenReturn(m_repositoryVersionEntity);
   }
 
   @Test
@@ -136,7 +128,6 @@ public class HostsRepositoryVersionCheckTest {
 
     final Cluster cluster = Mockito.mock(Cluster.class);
     Mockito.when(cluster.getClusterId()).thenReturn(1L);
-    Mockito.when(cluster.getDesiredStackVersion()).thenReturn(new StackId());
     Mockito.when(clusters.getCluster("cluster")).thenReturn(cluster);
     final Map<String, Host> hosts = new HashMap<>();
     final Host host1 = Mockito.mock(Host.class);
@@ -149,15 +140,8 @@ public class HostsRepositoryVersionCheckTest {
     hosts.put("host2", host2);
     hosts.put("host3", host3);
     Mockito.when(clusters.getHostsForCluster("cluster")).thenReturn(hosts);
-
-    Mockito.when(
-        repositoryVersionDAO.findByStackAndVersion(Mockito.any(StackId.class),
-            Mockito.anyString())).thenReturn(null);
-
-    Mockito.when(
-        repositoryVersionDAO.findByStackAndVersion(
-            Mockito.any(StackEntity.class), Mockito.anyString())).thenReturn(
-        null);
+    
+    
 
     ClusterInformation clusterInformation = new ClusterInformation("cluster", 
false, null, null, null);
     UpgradeCheckRequest request = new UpgradeCheckRequest(clusterInformation, 
UpgradeType.ROLLING,
@@ -172,15 +156,8 @@ public class HostsRepositoryVersionCheckTest {
 
     final RepositoryVersionEntity repositoryVersion = new 
RepositoryVersionEntity();
     repositoryVersion.setStack(stackEntity);
-
-    Mockito.when(
-        repositoryVersionDAO.findByStackAndVersion(Mockito.any(StackId.class),
-            Mockito.anyString())).thenReturn(repositoryVersion);
-
-    Mockito.when(
-        repositoryVersionDAO.findByStackAndVersion(
-            Mockito.any(StackEntity.class), Mockito.anyString())).thenReturn(
-        repositoryVersion);
+    
+    
 
     final HostVersionEntity hostVersion = new HostVersionEntity();
     hostVersion.setState(RepositoryVersionState.INSTALLED);
@@ -218,7 +195,6 @@ public class HostsRepositoryVersionCheckTest {
 
     final Cluster cluster = Mockito.mock(Cluster.class);
     Mockito.when(cluster.getClusterId()).thenReturn(1L);
-    Mockito.when(cluster.getDesiredStackVersion()).thenReturn(new StackId());
     Mockito.when(clusters.getCluster("cluster")).thenReturn(cluster);
     final Map<String, Host> hosts = new HashMap<>();
     final Host host1 = Mockito.mock(Host.class);
@@ -280,7 +256,6 @@ public class HostsRepositoryVersionCheckTest {
 
     final Cluster cluster = Mockito.mock(Cluster.class);
     Mockito.when(cluster.getClusterId()).thenReturn(1L);
-    Mockito.when(cluster.getDesiredStackVersion()).thenReturn(new StackId());
     Mockito.when(clusters.getCluster("cluster")).thenReturn(cluster);
     final Map<String, Host> hosts = new HashMap<>();
     final Host host1 = Mockito.mock(Host.class);
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
index 3683012d22..6ac8dbd67c 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/BlueprintConfigurationProcessorTest.java
@@ -760,6 +760,10 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     hiveSiteProps.put("javax.jdo.option.ConnectionURL", 
"jdbc:mysql://testhost/hive?createDatabaseIfNotExist=true");
     properties.put("hive-site", hiveSiteProps);
 
+    Map<String, String> hiveEnvProperties = new HashMap<>();
+    hiveEnvProperties.put("hive_database", "New MySQL Database");
+    properties.put("hive-env", hiveEnvProperties);
+
     Configuration clusterConfig = new Configuration(properties,
       emptyMap());
 
@@ -816,7 +820,7 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     BlueprintConfigurationProcessor configProcessor = new 
BlueprintConfigurationProcessor(topology);
     configProcessor.doUpdateForBlueprintExport(BlueprintExportType.FULL);
 
-    
assertFalse(properties.get("hive-site").containsKey("javax.jdo.option.ConnectionURL"));
+    
assertTrue(properties.get("hive-site").containsKey("javax.jdo.option.ConnectionURL"));
   }
 
   @Test
@@ -1616,6 +1620,8 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     configProperties.put("webhcat-site", webHCatSiteProperties);
     configProperties.put("core-site", coreSiteProperties);
 
+    hiveEnvProperties.put("hive_database", "New MySQL Database");
+
     // setup properties that include host information
     hiveSiteProperties.put("hive.metastore.uris", "thrift://" + 
expectedHostName + ":" + expectedPortNum);
     hiveSiteProperties.put("javax.jdo.option.ConnectionURL", expectedHostName 
+ ":" + expectedPortNum);
@@ -1664,7 +1670,7 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     assertEquals("hive property not properly exported",
       createExportedAddress(expectedPortNum, expectedHostGroupName), 
hiveSiteProperties.get("javax.jdo.option.ConnectionURL"));
     assertEquals("hive property not properly exported",
-      createExportedHostName(expectedHostGroupName) + "," + 
createExportedHostName(expectedHostGroupNameTwo),
+            expectedHostName + "," + expectedHostNameTwo,
       webHCatSiteProperties.get("templeton.hive.properties"));
 
     assertEquals("hive property not properly exported",
@@ -1711,6 +1717,8 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     configProperties.put("webhcat-site", webHCatSiteProperties);
     configProperties.put("core-site", coreSiteProperties);
 
+    hiveEnvProperties.put("hive_database", "New MySQL Database");
+
     // setup properties that include host information
     hiveSiteProperties.put("hive.metastore.uris", "thrift://" + 
expectedHostName + ":" + expectedPortNum + "," + "thrift://" + 
expectedHostNameTwo + ":" + expectedPortNum);
     hiveSiteProperties.put("hive.server2.authentication.ldap.url", 
"ldap://myexternalhost.com:1389";);
@@ -1759,7 +1767,7 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     assertEquals("hive property not properly exported",
       createExportedAddress(expectedPortNum, expectedHostGroupName), 
hiveSiteProperties.get("javax.jdo.option.ConnectionURL"));
     assertEquals("hive property not properly exported",
-      createExportedHostName(expectedHostGroupName) + "," + 
createExportedHostName(expectedHostGroupNameTwo),
+      expectedHostName + "," + expectedHostNameTwo,
       webHCatSiteProperties.get("templeton.hive.properties"));
 
     assertEquals("hive property not properly exported",
@@ -2179,7 +2187,7 @@ public class BlueprintConfigurationProcessorTest extends 
EasyMockSupport {
     configProcessor.doUpdateForBlueprintExport(BlueprintExportType.FULL);
 
     assertEquals("Property was incorrectly exported",
-      "%HOSTGROUP::" + expectedHostGroupName + "%", 
properties.get("storm.zookeeper.servers"));
+      "['%HOSTGROUP::" + expectedHostGroupName + "%']", 
properties.get("storm.zookeeper.servers"));
     assertEquals("Property with undefined host was incorrectly exported",
       "undefined", properties.get("nimbus.childopts"));
     assertEquals("Property with undefined host was incorrectly exported",
diff --git 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProviderTest.java
 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProviderTest.java
index 5e16cc50f3..779f9c5f36 100644
--- 
a/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProviderTest.java
+++ 
b/ambari-server/src/test/java/org/apache/ambari/server/controller/internal/VersionDefinitionResourceProviderTest.java
@@ -280,7 +280,7 @@ public class VersionDefinitionResourceProviderTest {
         
VersionDefinitionResourceProvider.SHOW_AVAILABLE).equals("true").toPredicate();
 
     Set<Resource> results = versionProvider.getResources(getRequest, 
predicate);
-    Assert.assertEquals(2, results.size());
+    Assert.assertEquals(3, results.size());
 
     boolean found1 = false;
     boolean found2 = false;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to