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]