You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by mg...@apache.org on 2017/01/11 11:17:59 UTC
ambari git commit: AMBARI-19330 addendum LogSearch upgrade support
2.4 -> 2.5 (mgergely)
Repository: ambari
Updated Branches:
refs/heads/branch-2.5 59b50bac2 -> d15c61095
AMBARI-19330 addendum LogSearch upgrade support 2.4 -> 2.5 (mgergely)
Change-Id: Ibade148359f9a91db8ba3a6fc0c30277be261918
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/d15c6109
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d15c6109
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d15c6109
Branch: refs/heads/branch-2.5
Commit: d15c6109539a451fbb1e92b8cdbfba15b6abd404
Parents: 59b50ba
Author: Miklos Gergely <mg...@hortonworks.com>
Authored: Wed Jan 11 12:15:37 2017 +0100
Committer: Miklos Gergely <mg...@hortonworks.com>
Committed: Wed Jan 11 12:17:50 2017 +0100
----------------------------------------------------------------------
.../server/upgrade/SchemaUpgradeUtil.java | 5 +-
.../server/upgrade/UpgradeCatalog250.java | 77 ++++++++-
.../0.5.0/configuration/logfeeder-log4j.xml | 8 +-
.../0.5.0/configuration/logsearch-log4j.xml | 16 +-
.../server/upgrade/UpgradeCatalog250Test.java | 171 ++++++++++++++++++-
5 files changed, 255 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java
index 999004c..f382ca9 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/SchemaUpgradeUtil.java
@@ -65,8 +65,9 @@ public class SchemaUpgradeUtil {
if (m.find()) {
propertyValue = m.group(1);
- String toReplace = propertyPattern.replace("(\\w+)", propertyValue);
- String replaceWith = propertyPattern.replace("(\\w+)", "{{" + variableName + "}}");
+ String unescapedPattern = propertyPattern.replace("\\{", "{");
+ String toReplace = unescapedPattern.replace("(\\w+)", propertyValue);
+ String replaceWith = unescapedPattern.replace("(\\w+)", "{{" + variableName + "}}");
content = content.replace(toReplace, replaceWith);
}
newProperties.put(propertyName, propertyValue);
http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
index 172cbd4..cb509cd 100644
--- a/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
+++ b/ambari-server/src/main/java/org/apache/ambari/server/upgrade/UpgradeCatalog250.java
@@ -656,8 +656,38 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog {
updateConfigurationPropertiesForCluster(cluster, "logsearch-env", newProperties, removeProperties, true, true);
}
+ Config logfeederLog4jProperties = cluster.getDesiredConfigByType("logfeeder-log4j");
+ if (logfeederLog4jProperties != null) {
+ Map<String, String> newProperties = new HashMap<>();
+
+ String content = logfeederLog4jProperties.getProperties().get("content");
+ content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_log_maxfilesize", "logfeeder_log_maxfilesize",
+ " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logfeeder.log\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_log_maxbackupindex", "logfeeder_log_maxbackupindex",
+ " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logfeeder.log\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"\\{\\{logfeeder_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_json_log_maxfilesize", "logfeeder_json_log_maxfilesize",
+ " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"(\\w+)MB\" />", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logfeeder_json_log_maxbackupindex", "logfeeder_json_log_maxbackupindex",
+ " <param name=\"file\" value=\"\\{\\{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"\\{\\{logfeeder_json_log_maxfilesize}}MB\" />\n" +
+ " <param name=\"maxBackupIndex\" value=\"(\\w+)\" />", "10", newProperties);
+
+ newProperties.put("content", content);
+ updateConfigurationPropertiesForCluster(cluster, "logfeeder-log4j", newProperties, true, true);
+ }
+
Config logsearchLog4jProperties = cluster.getDesiredConfigByType("logsearch-log4j");
if (logsearchLog4jProperties != null) {
+ Map<String, String> newProperties = new HashMap<>();
+
String content = logsearchLog4jProperties.getProperties().get("content");
if (content.contains("{{logsearch_log_dir}}/logsearch.err")) {
content = content.replace("{{logsearch_log_dir}}/logsearch.err", "{{logsearch_log_dir}}/logsearch.log");
@@ -665,8 +695,51 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog {
if (content.contains("<priority value=\"warn\"/>")) {
content = content.replace("<priority value=\"warn\"/>", "<priority value=\"info\"/>");
}
+
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_log_maxfilesize", "logsearch_log_maxfilesize",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.log\" />\n" +
+ " <param name=\"Threshold\" value=\"info\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"(\\w+)MB\" />\n", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_log_maxbackupindex", "logsearch_log_maxbackupindex",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.log\" />\n" +
+ " <param name=\"Threshold\" value=\"info\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_log_maxfilesize}}MB\" />\n" +
+ " <param name=\"maxBackupIndex\" value=\"(\\w+)\" />\n", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_json_log_maxfilesize", "logsearch_json_log_maxfilesize",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>\n", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_json_log_maxbackupindex", "logsearch_json_log_maxbackupindex",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_json_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>\n", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_audit_log_maxfilesize", "logsearch_audit_log_maxfilesize",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-audit.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>\n", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_audit_log_maxbackupindex", "logsearch_audit_log_maxbackupindex",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-audit.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_audit_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>\n", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_perf_log_maxfilesize", "logsearch_perf_log_maxfilesize",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-performance.json\"/>\n" +
+ " <param name=\"Threshold\" value=\"info\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"(\\w+)MB\"/>\n", "10", newProperties);
+ content = SchemaUpgradeUtil.extractProperty(content, "logsearch_perf_log_maxbackupindex", "logsearch_perf_log_maxbackupindex",
+ " <param name=\"file\" value=\"\\{\\{logsearch_log_dir}}/logsearch-performance.json\"/>\n" +
+ " <param name=\"Threshold\" value=\"info\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"\\{\\{logsearch_perf_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"(\\w+)\"/>\n", "10", newProperties);
+
+ newProperties.put("content", content);
if (!content.equals(logsearchLog4jProperties.getProperties().get("content"))) {
- updateConfigurationPropertiesForCluster(cluster, "logsearch-log4j", Collections.singletonMap("content", content), true, true);
+ updateConfigurationPropertiesForCluster(cluster, "logsearch-log4j", newProperties, true, true);
}
}
}
@@ -675,7 +748,7 @@ public class UpgradeCatalog250 extends AbstractUpgradeCatalog {
}
/**
- * Updates Log Search configs.
+ * Updates Ambari Infra configs.
*
* @throws AmbariException
*/
http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
index 1843e75..33749ff 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logfeeder-log4j.xml
@@ -29,7 +29,7 @@
<value-attributes>
<unit>MB</unit>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logfeeder_log_maxbackupindex</name>
@@ -40,7 +40,7 @@
<type>int</type>
<minimum>0</minimum>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logfeeder_json_log_maxfilesize</name>
@@ -50,7 +50,7 @@
<value-attributes>
<unit>MB</unit>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logfeeder_json_log_maxbackupindex</name>
@@ -61,7 +61,7 @@
<type>int</type>
<minimum>0</minimum>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>content</name>
http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
----------------------------------------------------------------------
diff --git a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
index 729eba6..a845741 100644
--- a/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
+++ b/ambari-server/src/main/resources/common-services/LOGSEARCH/0.5.0/configuration/logsearch-log4j.xml
@@ -30,7 +30,7 @@
<value-attributes>
<unit>MB</unit>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logsearch_log_maxbackupindex</name>
@@ -41,7 +41,7 @@
<type>int</type>
<minimum>0</minimum>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logsearch_json_log_maxfilesize</name>
@@ -51,7 +51,7 @@
<value-attributes>
<unit>MB</unit>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logsearch_json_log_maxbackupindex</name>
@@ -62,7 +62,7 @@
<type>int</type>
<minimum>0</minimum>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logsearch_audit_log_maxfilesize</name>
@@ -72,7 +72,7 @@
<value-attributes>
<unit>MB</unit>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logsearch_audit_log_maxbackupindex</name>
@@ -83,7 +83,7 @@
<type>int</type>
<minimum>0</minimum>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logsearch_perf_log_maxfilesize</name>
@@ -93,7 +93,7 @@
<value-attributes>
<unit>MB</unit>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>logsearch_perf_log_maxbackupindex</name>
@@ -104,7 +104,7 @@
<type>int</type>
<minimum>0</minimum>
</value-attributes>
- <on-ambari-upgrade add="false"/>
+ <on-ambari-upgrade add="true"/>
</property>
<property>
<name>content</name>
http://git-wip-us.apache.org/repos/asf/ambari/blob/d15c6109/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
----------------------------------------------------------------------
diff --git a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
index 98aaa0f..52bc02f 100644
--- a/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
+++ b/ambari-server/src/test/java/org/apache/ambari/server/upgrade/UpgradeCatalog250Test.java
@@ -589,13 +589,169 @@ public class UpgradeCatalog250Test {
expect(controller.createConfig(anyObject(Cluster.class), anyString(), capture(logSearchEnvCapture), anyString(),
EasyMock.<Map<String, Map<String, String>>>anyObject())).andReturn(config).once();
+ Map<String, String> oldLogFeederLog4j = ImmutableMap.of(
+ "content",
+ " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logfeeder.log\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"11MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"12\"/>\n" +
+ " <layout class=\"org.apache.log4j.PatternLayout\">\n" +
+ " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\"/>\n" +
+ " </layout>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"rolling_file_json\"\n" +
+ " class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"13MB\" />\n" +
+ " <param name=\"maxBackupIndex\" value=\"14\" />\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\" />\n" +
+ " </appender>");
+
+ Map<String, String> expectedLogFeederLog4j = ImmutableMap.of(
+ "content",
+ " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logfeeder.log\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"{{logfeeder_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"{{logfeeder_log_maxbackupindex}}\"/>\n" +
+ " <layout class=\"org.apache.log4j.PatternLayout\">\n" +
+ " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\"/>\n" +
+ " </layout>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"rolling_file_json\"\n" +
+ " class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logfeeder_log_dir}}/logsearch-logfeeder.json\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"{{logfeeder_json_log_maxfilesize}}MB\" />\n" +
+ " <param name=\"maxBackupIndex\" value=\"{{logfeeder_json_log_maxbackupindex}}\" />\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\" />\n" +
+ " </appender>",
+ "logfeeder_log_maxfilesize", "11",
+ "logfeeder_log_maxbackupindex", "12",
+ "logfeeder_json_log_maxfilesize", "13",
+ "logfeeder_json_log_maxbackupindex", "14");
+
+ Config mockLogFeederLog4j = easyMockSupport.createNiceMock(Config.class);
+ expect(cluster.getDesiredConfigByType("logfeeder-log4j")).andReturn(mockLogFeederLog4j).atLeastOnce();
+ expect(mockLogFeederLog4j.getProperties()).andReturn(oldLogFeederLog4j).anyTimes();
+ Capture<Map<String, String>> logFeederLog4jCapture = EasyMock.newCapture();
+ expect(controller.createConfig(anyObject(Cluster.class), anyString(), capture(logFeederLog4jCapture), anyString(),
+ anyObject(Map.class))).andReturn(config).once();
+
Map<String, String> oldLogSearchLog4j = ImmutableMap.of(
- "content", "{{logsearch_log_dir}}/logsearch.err\n" +
- "<priority value=\"warn\"/>");
+ "content",
+ " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.err\" />\n" +
+ " <param name=\"Threshold\" value=\"info\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"11MB\" />\n" +
+ " <param name=\"maxBackupIndex\" value=\"12\" />\n" +
+ " <layout class=\"org.apache.log4j.PatternLayout\">\n" +
+ " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\" />\n" +
+ " </layout>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"13MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"14\"/>\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"audit_rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-audit.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"15MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"16\"/>\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"performance_analyzer_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-performance.json\"/>\n" +
+ " <param name=\"Threshold\" value=\"info\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"17MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"18\"/>\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <logger name=\"org.apache.ambari.logsearch.audit\" additivity=\"true\">\n" +
+ " <appender-ref ref=\"audit_rolling_file_json\"/>\n" +
+ " </logger>\n" +
+ "\n" +
+ " <logger name=\"org.apache.ambari.logsearch.performance\" additivity=\"false\">\n" +
+ " <appender-ref ref=\"performance_analyzer_json\"/>\n" +
+ " </logger>\n" +
+ "\n" +
+ " <category name=\"org.apache.ambari.logsearch\" additivity=\"false\">\n" +
+ " <priority value=\"warn\"/>\n" +
+ " <appender-ref ref=\"rolling_file_json\"/>\n" +
+ " </category>");
- Map<String, String> expectedLogSearchLog4j = ImmutableMap.of(
- "content", "{{logsearch_log_dir}}/logsearch.log\n" +
- "<priority value=\"info\"/>");
+ Map<String, String> expectedLogSearchLog4j = new HashMap<>();
+ expectedLogSearchLog4j.put("content",
+ " <appender name=\"rolling_file\" class=\"org.apache.log4j.RollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.log\" />\n" +
+ " <param name=\"Threshold\" value=\"info\" />\n" +
+ " <param name=\"append\" value=\"true\" />\n" +
+ " <param name=\"maxFileSize\" value=\"{{logsearch_log_maxfilesize}}MB\" />\n" +
+ " <param name=\"maxBackupIndex\" value=\"{{logsearch_log_maxbackupindex}}\" />\n" +
+ " <layout class=\"org.apache.log4j.PatternLayout\">\n" +
+ " <param name=\"ConversionPattern\" value=\"%d [%t] %-5p %C{6} (%F:%L) - %m%n\" />\n" +
+ " </layout>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"{{logsearch_json_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"{{logsearch_json_log_maxbackupindex}}\"/>\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"audit_rolling_file_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-audit.json\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"{{logsearch_audit_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"{{logsearch_audit_log_maxbackupindex}}\"/>\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <appender name=\"performance_analyzer_json\" class=\"org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender\">\n" +
+ " <param name=\"file\" value=\"{{logsearch_log_dir}}/logsearch-performance.json\"/>\n" +
+ " <param name=\"Threshold\" value=\"info\"/>\n" +
+ " <param name=\"append\" value=\"true\"/>\n" +
+ " <param name=\"maxFileSize\" value=\"{{logsearch_perf_log_maxfilesize}}MB\"/>\n" +
+ " <param name=\"maxBackupIndex\" value=\"{{logsearch_perf_log_maxbackupindex}}\"/>\n" +
+ " <layout class=\"org.apache.ambari.logsearch.appender.LogsearchConversion\"/>\n" +
+ " </appender>\n" +
+ "\n" +
+ " <logger name=\"org.apache.ambari.logsearch.audit\" additivity=\"true\">\n" +
+ " <appender-ref ref=\"audit_rolling_file_json\"/>\n" +
+ " </logger>\n" +
+ "\n" +
+ " <logger name=\"org.apache.ambari.logsearch.performance\" additivity=\"false\">\n" +
+ " <appender-ref ref=\"performance_analyzer_json\"/>\n" +
+ " </logger>\n" +
+ "\n" +
+ " <category name=\"org.apache.ambari.logsearch\" additivity=\"false\">\n" +
+ " <priority value=\"info\"/>\n" +
+ " <appender-ref ref=\"rolling_file_json\"/>\n" +
+ " </category>");
+
+ expectedLogSearchLog4j.put("logsearch_log_maxfilesize", "11");
+ expectedLogSearchLog4j.put("logsearch_log_maxbackupindex", "12");
+ expectedLogSearchLog4j.put("logsearch_json_log_maxfilesize", "13");
+ expectedLogSearchLog4j.put("logsearch_json_log_maxbackupindex", "14");
+ expectedLogSearchLog4j.put("logsearch_audit_log_maxfilesize", "15");
+ expectedLogSearchLog4j.put("logsearch_audit_log_maxbackupindex", "16");
+ expectedLogSearchLog4j.put("logsearch_perf_log_maxfilesize", "17");
+ expectedLogSearchLog4j.put("logsearch_perf_log_maxbackupindex", "18");
Config mockLogSearchLog4j = easyMockSupport.createNiceMock(Config.class);
expect(cluster.getDesiredConfigByType("logsearch-log4j")).andReturn(mockLogSearchLog4j).atLeastOnce();
@@ -606,7 +762,7 @@ public class UpgradeCatalog250Test {
replay(clusters, cluster);
replay(controller, injector2);
- replay(mockLogSearchProperties, mockLogFeederEnv, mockLogSearchEnv, mockLogSearchLog4j);
+ replay(mockLogSearchProperties, mockLogFeederEnv, mockLogSearchEnv, mockLogFeederLog4j, mockLogSearchLog4j);
new UpgradeCatalog250(injector2).updateLogSearchConfigs();
easyMockSupport.verifyAll();
@@ -619,6 +775,9 @@ public class UpgradeCatalog250Test {
Map<String, String> updatedLogSearchEnv = logSearchEnvCapture.getValue();
assertTrue(Maps.difference(expectedLogSearchEnv, updatedLogSearchEnv).areEqual());
+ Map<String, String> updatedLogFeederLog4j = logFeederLog4jCapture.getValue();
+ assertTrue(Maps.difference(expectedLogFeederLog4j, updatedLogFeederLog4j).areEqual());
+
Map<String, String> updatedLogSearchLog4j = logSearchLog4jCapture.getValue();
assertTrue(Maps.difference(expectedLogSearchLog4j, updatedLogSearchLog4j).areEqual());
}