diff options
author | oleewere <oleewere@gmail.com> | 2016-04-25 16:48:31 +0200 |
---|---|---|
committer | oleewere <oleewere@gmail.com> | 2016-04-25 17:10:34 +0200 |
commit | 888faf260d2d9fc454072ed69d1149c733ca98f0 (patch) | |
tree | f35884e2afea35c0f37b9a7b8c47042099adbf99 /ambari-logsearch/ambari-logsearch-logfeeder | |
parent | 25ed583ee7926456a3ade0ba0644ccd2608b3aaf (diff) |
AMBARI-16034. Incremental changes to LogSearch to bring it up to date in the trunk (Dharmesh Makwana via oleewere)
Diffstat (limited to 'ambari-logsearch/ambari-logsearch-logfeeder')
16 files changed, 140 insertions, 52 deletions
diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/build.xml b/ambari-logsearch/ambari-logsearch-logfeeder/build.xml index 53f893edd7..738b2ef2ce 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/build.xml +++ b/ambari-logsearch/ambari-logsearch-logfeeder/build.xml @@ -32,9 +32,6 @@ <copy todir="target/package/libs" includeEmptyDirs="no"> <fileset dir="target/libs"/> </copy> - <copy todir="target/package/" includeEmptyDirs="no"> - <fileset file="target/LogFeeder.jar"/> - </copy> <copy todir="target/package/classes" includeEmptyDirs="no"> <fileset dir="target/classes"/> </copy> diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml index 088801099c..dc1b361a8d 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml +++ b/ambari-logsearch/ambari-logsearch-logfeeder/pom.xml @@ -39,6 +39,11 @@ <dependencies> <dependency> + <groupId>org.apache.ambari</groupId> + <artifactId>ambari-logsearch-appender</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> @@ -79,6 +84,7 @@ <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> + <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> @@ -109,8 +115,8 @@ <artifactId>jackson-xc</artifactId> <version>1.9.13</version> </dependency> - </dependencies> + </dependencies> <build> <finalName>LogFeeder</finalName> <pluginManagement> diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederUtil.java index 730369404a..7a30d724f7 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederUtil.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeederUtil.java @@ -33,9 +33,11 @@ import java.util.Hashtable; import java.util.List; import java.util.Map; import java.util.Properties; +import java.util.TimeZone; import org.apache.ambari.logfeeder.filter.Filter; import org.apache.ambari.logfeeder.input.Input; +import org.apache.ambari.logfeeder.logconfig.LogFeederConstants; import org.apache.ambari.logfeeder.mapper.Mapper; import org.apache.ambari.logfeeder.output.Output; import org.apache.commons.lang3.StringUtils; @@ -58,6 +60,7 @@ public class LogFeederUtil { final static int HASH_SEED = 31174077; public final static String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; + public final static String SOLR_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"; static Gson gson = new GsonBuilder().setDateFormat(DATE_FORMAT).create(); static Properties props; @@ -324,6 +327,9 @@ public class LogFeederUtil { } public static Map<String, Object> toJSONObject(String jsonStr) { + if(jsonStr==null || jsonStr.trim().isEmpty()){ + return new HashMap<String, Object>(); + } Type type = new TypeToken<Map<String, Object>>() { }.getType(); return gson.fromJson(jsonStr, type); @@ -380,7 +386,8 @@ public class LogFeederUtil { public static String getDate(String timeStampStr) { try { - DateFormat sdf = new SimpleDateFormat(DATE_FORMAT); + DateFormat sdf = new SimpleDateFormat(SOLR_DATE_FORMAT); + sdf.setTimeZone(TimeZone.getTimeZone("UTC")); Date netDate = (new Date(Long.parseLong(timeStampStr))); return sdf.format(netDate); } catch (Exception ex) { @@ -468,7 +475,7 @@ public class LogFeederUtil { return true; } } - if (value.equalsIgnoreCase("ALL")) { + if (value.equalsIgnoreCase(LogFeederConstants.ALL)) { return true; } } diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java index fc12458f77..e645a3db84 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/FetchConfigFromSolr.java @@ -40,12 +40,18 @@ public class FetchConfigFromSolr extends Thread { private static String endTimeDateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS";//2016-04-05T04:30:00.000Z private static String sysTimeZone = "GMT"; - public FetchConfigFromSolr() { + public FetchConfigFromSolr(boolean isDaemon) { this.setName(this.getClass().getSimpleName()); + this.setDaemon(isDaemon); } @Override public void run() { + String zkHosts = LogFeederUtil.getStringProperty("logfeeder.solr.zkhosts"); + if( zkHosts == null || zkHosts.trim().length() == 0 ) { + logger.warn("Solr ZKHosts for UserConfig/History is not set. Won't look for level configuration from Solr."); + return; + } solrConfigInterval = LogFeederUtil.getIntProperty("logfeeder.solr.config.internal", solrConfigInterval); delay = 1000 * solrConfigInterval; do { @@ -60,11 +66,14 @@ public class FetchConfigFromSolr extends Thread { } private synchronized void pullConfigFromSolr() { - HashMap<String, Object> configDocMap = SolrUtil.getInstance().getConfigDoc(); - if (configDocMap != null) { - String configJson = (String) configDocMap.get(LogFeederConstants.VALUES); - if (configJson != null) { - logfeederFilterWrapper = LogFeederUtil.getGson().fromJson(configJson, VLogfeederFilterWrapper.class); + SolrUtil solrUtil = SolrUtil.getInstance(); + if(solrUtil!=null){ + HashMap<String, Object> configDocMap = solrUtil.getConfigDoc(); + if (configDocMap != null) { + String configJson = (String) configDocMap.get(LogFeederConstants.VALUES); + if (configJson != null) { + logfeederFilterWrapper = LogFeederUtil.getGson().fromJson(configJson, VLogfeederFilterWrapper.class); + } } } } @@ -117,19 +126,28 @@ public class FetchConfigFromSolr extends Thread { List<String> hosts = componentFilter.getHosts(); List<String> defaultLevels = componentFilter.getDefaultLevels(); List<String> overrideLevels = componentFilter.getOverrideLevels(); - if (LogFeederUtil.isListContains(hosts, hostName, false)) { - if (isFilterExpired(componentFilter)) { - // pick default - logger.debug("Filter for component " + componentName + " and host :" + hostName + " is expired at " - + componentFilter.getExpiryTime()); - return defaultLevels; - } else { - // return tmp filter levels - return overrideLevels; + String expiryTime=componentFilter.getExpiryTime(); + //check is user override or not + if ((expiryTime != null && !expiryTime.isEmpty()) + || (overrideLevels != null && !overrideLevels.isEmpty()) + || (hosts != null && !hosts.isEmpty())) { + if (hosts == null || hosts.isEmpty()) { + // hosts list is empty or null consider it apply on all hosts + hosts.add(LogFeederConstants.ALL); + } + if (LogFeederUtil.isListContains(hosts, hostName, false)) { + if (isFilterExpired(componentFilter)) { + // pick default + logger.debug("Filter for component " + componentName + " and host :" + + hostName + " is expired at " + componentFilter.getExpiryTime()); + return defaultLevels; + } else { + // return tmp filter levels + return overrideLevels; + } } - } else { - return defaultLevels; } + return defaultLevels; } public static VLogfeederFilter findComponentFilter(String componentName) { diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/LogfeederScheduler.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/LogfeederScheduler.java index 7525dff32a..128c5c4c56 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/LogfeederScheduler.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/LogfeederScheduler.java @@ -52,7 +52,8 @@ public enum LogfeederScheduler { private List<Thread> getThreadList() { List<Thread> tasks = new ArrayList<Thread>(); - tasks.add(new FetchConfigFromSolr()); + Thread configMonitor = new FetchConfigFromSolr(true); + tasks.add(configMonitor); return tasks; } } diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/ApplyLogFilter.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/ApplyLogFilter.java index 374844597c..f2232070b0 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/ApplyLogFilter.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/ApplyLogFilter.java @@ -50,7 +50,12 @@ public class ApplyLogFilter extends DefaultDataFilter { //return default value if there is no filter found for particular component return defaultValue; } - List<String> allowedLevels = FetchConfigFromSolr.getAllowedLevels(hostName, componentFilter); + List<String> allowedLevels = FetchConfigFromSolr.getAllowedLevels( + hostName, componentFilter); + if (allowedLevels == null || allowedLevels.isEmpty()) { + // if allowedlevels list is empty then allow everything + allowedLevels.add(LogFeederConstants.ALL); + } return LogFeederUtil.isListContains(allowedLevels, level, false); } } diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/DefaultDataFilter.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/DefaultDataFilter.java index 9e98c6a3aa..a064663adc 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/DefaultDataFilter.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/DefaultDataFilter.java @@ -18,7 +18,6 @@ */ package org.apache.ambari.logfeeder.logconfig.filter; -import java.util.List; import java.util.Map; import org.apache.log4j.Logger; @@ -28,9 +27,7 @@ import org.apache.log4j.Logger; */ public class DefaultDataFilter { private static Logger logger = Logger.getLogger(DefaultDataFilter.class); - - protected static final boolean CASE_SENSITIVE = false; - + public boolean applyFilter(Map<String, Object> outputJsonObj, boolean defaultValue) { return defaultValue; } diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/FilterLogData.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/FilterLogData.java index 643df984c8..bf33f93652 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/FilterLogData.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/logconfig/filter/FilterLogData.java @@ -40,7 +40,7 @@ public enum FilterLogData { return defaultValue; } Map<String, Object> jsonObj = LogFeederUtil.toJSONObject(jsonBlock); - return applyLogFilter.applyFilter(jsonObj, defaultValue); + return isAllowed(jsonObj); } public boolean isAllowed(Map<String, Object> jsonObj) { diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/Output.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/Output.java index dd67d075eb..c067680e4d 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/Output.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/Output.java @@ -22,6 +22,7 @@ package org.apache.ambari.logfeeder.output; import java.lang.reflect.Type; import java.util.List; import java.util.Map; +import java.util.Map.Entry; import org.apache.ambari.logfeeder.ConfigBlock; import org.apache.ambari.logfeeder.LogFeederUtil; @@ -115,5 +116,18 @@ public abstract class Output extends ConfigBlock { logStatForMetric(writeBytesMetric, "Stat: Bytes Written"); } + + public void trimStrValue(Map<String, Object> jsonObj) { + if (jsonObj != null) { + for (Entry<String, Object> entry : jsonObj.entrySet()) { + String key = entry.getKey(); + Object value = entry.getValue(); + if (value != null && value instanceof String) { + String valueStr = value.toString().trim(); + jsonObj.put(key, valueStr); + } + } + } + } } diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java index cd4f951148..efbc366c10 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputKafka.java @@ -283,4 +283,4 @@ public class OutputKafka extends Output { } } } -} +}
\ No newline at end of file diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java index 215f691e8c..6fb0b0e423 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java @@ -194,6 +194,7 @@ public class OutputSolr extends Output { @Override public void write(Map<String, Object> jsonObj, InputMarker inputMarker) throws Exception { try { + trimStrValue(jsonObj); outgoingBuffer.put(new OutputData(jsonObj, inputMarker)); } catch (InterruptedException e) { // ignore @@ -442,4 +443,4 @@ public class OutputSolr extends Output { return localBuffer.isEmpty(); } } -} +}
\ No newline at end of file diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java index 4265dc670e..200a603e24 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/util/SolrUtil.java @@ -23,6 +23,7 @@ import java.util.HashMap; import org.apache.ambari.logfeeder.LogFeederUtil; import org.apache.ambari.logfeeder.logconfig.LogFeederConstants; +import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrQuery; @@ -64,7 +65,12 @@ public class SolrUtil { try { instance = new SolrUtil(); } catch (Exception e) { - logger.error(e); + final String LOG_MESSAGE_KEY = SolrUtil.class + .getSimpleName() + "_SOLR_UTIL"; + LogFeederUtil.logErrorMessageByInterval( + LOG_MESSAGE_KEY, + "Error constructing solrUtil", e, logger, + Level.WARN); } } } @@ -162,6 +168,7 @@ public class SolrUtil { QueryResponse queryResponse = solrClient.query(solrQuery, METHOD.POST); return queryResponse; } else { + logger.error("solrClient can't be null"); return null; } } @@ -176,15 +183,18 @@ public class SolrUtil { String fq = LogFeederConstants.ROW_TYPE + ":" + LogFeederConstants.NAME; solrQuery.setFilterQueries(fq); try { - QueryResponse response = SolrUtil.getInstance().process(solrQuery); - SolrDocumentList documentList = response.getResults(); - if (documentList != null && documentList.size() > 0) { - SolrDocument configDoc = documentList.get(0); - String configJson = LogFeederUtil.getGson().toJson(configDoc); - configMap = (HashMap<String, Object>) LogFeederUtil.toJSONObject(configJson); + QueryResponse response = process(solrQuery); + if (response != null) { + SolrDocumentList documentList = response.getResults(); + if (documentList != null && documentList.size() > 0) { + SolrDocument configDoc = documentList.get(0); + String configJson = LogFeederUtil.getGson().toJson(configDoc); + configMap = (HashMap<String, Object>) LogFeederUtil + .toJSONObject(configJson); + } } - } catch (SolrException | SolrServerException | IOException e) { - logger.error(e); + } catch (Exception e) { + logger.error("Error getting config", e); } return configMap; } diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 index 163ee2ba75..1c5ee8d3a0 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/config.json.j2 @@ -179,17 +179,17 @@ { "type":"logsearch_app", "rowtype":"service", - "path":"{{logsearch_log_dir}}/logsearch.log" + "path":"{{logsearch_log_dir}}/logsearch.json" }, { "type":"logsearch_feeder", "rowtype":"service", - "path":"{{logfeeder_log_dir}}/logfeeder.log" + "path":"{{logfeeder_log_dir}}/logfeeder.json" }, { "type":"logsearch_perf", "rowtype":"service", - "path":"{{logsearch_log_dir}}/logsearch-performance.log" + "path":"{{logsearch_log_dir}}/logsearch-performance.json" }, { "type":"ranger_admin", @@ -625,13 +625,22 @@ }, { + "filter": "json", + "conditions": { + "fields": { + "type": [ + "logsearch_app", + "logsearch_feeder", + "logsearch_perf" + ] + } + } + }, + { "filter":"grok", "conditions":{ "fields":{ "type":[ - "logsearch_app", - "logsearch_feeder", - "logsearch_perf", "ranger_admin", "ranger_dbpatch" ] diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml index 0717477bb7..7ef967c980 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/resources/log4j.xml @@ -33,24 +33,35 @@ <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d [%t] %-5p %C{6} (%F:%L) - %m%n"/> </layout> + </appender> + + <appender name="rolling_file_json" + class="org.apache.ambari.logsearch.appender.LogsearchRollingFileAppender"> + <param name="file" value="logs/logsearch-logfeeder.json" /> + <param name="append" value="true" /> + <param name="maxFileSize" value="10MB" /> + <param name="maxBackupIndex" value="10" /> + <layout class="org.apache.ambari.logsearch.appender.LogsearchConversion" /> </appender> + <!-- Logs to suppress BEGIN --> <category name="org.apache.solr.common.cloud.ZkStateReader" additivity="false"> <priority value="error" /> - <appender-ref ref="rolling_file" /> + <appender-ref ref="daily_rolling_file" /> </category> <category name="apache.solr.client.solrj.impl.CloudSolrClient" additivity="false"> <priority value="fatal" /> - <appender-ref ref="rolling_file" /> + <appender-ref ref="daily_rolling_file" /> </category> <!-- Logs to suppress END --> <category name="org.apache.ambari.logfeeder" additivity="false"> - <priority value="info" /> + <priority value="INFO" /> <appender-ref ref="console" /> <!-- <appender-ref ref="daily_rolling_file" /> --> + <appender-ref ref="rolling_file_json"/> </category> <root> diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh index 1e7185a423..356a3587c0 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/scripts/run.sh @@ -47,6 +47,12 @@ fi if [ "$LOGFEEDER_CONF_DIR" = "" ]; then LOGFEEDER_CONF_DIR="/etc/logfeeder/conf" + if [ ! -d $LOGFEEDER_CONF_DIR ]; then + if [ -d $script_dir/classes ]; then + LOGFEEDER_CONF_DIR=$script_dir/classes + fi + fi + fi LOGFEEDER_GC_LOGFILE=`dirname $LOGFILE`/logfeeder_gc.log diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/JSONFilterCodeTest.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/JSONFilterCodeTest.java index ebfd0f5f6a..fd14b48eba 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/JSONFilterCodeTest.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/test/java/org/apache/ambari/logfeeder/filter/JSONFilterCodeTest.java @@ -18,10 +18,12 @@ package org.apache.ambari.logfeeder.filter; +import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; +import java.util.TimeZone; import org.apache.ambari.logfeeder.LogFeederUtil; import org.apache.ambari.logfeeder.OutputMgr; @@ -64,7 +66,9 @@ public class JSONFilterCodeTest { EasyMock.replay(mockOutputMgr); Date d = new Date(); - String dateString = new SimpleDateFormat(LogFeederUtil.DATE_FORMAT).format(d); + DateFormat sdf = new SimpleDateFormat(LogFeederUtil.SOLR_DATE_FORMAT); + sdf.setTimeZone(TimeZone.getTimeZone("UTC")); + String dateString = sdf.format(d); jsonFilterCode.apply("{ logtime: '" + d.getTime() + "', line_number: 100 }", new InputMarker()); EasyMock.verify(mockOutputMgr); @@ -86,7 +90,9 @@ public class JSONFilterCodeTest { EasyMock.replay(mockOutputMgr); Date d = new Date(); - String dateString = new SimpleDateFormat(LogFeederUtil.DATE_FORMAT).format(d); + DateFormat sdf = new SimpleDateFormat(LogFeederUtil.SOLR_DATE_FORMAT); + sdf.setTimeZone(TimeZone.getTimeZone("UTC")); + String dateString = sdf.format(d); jsonFilterCode.apply("{ logtime: '" + d.getTime() + "', some_field: 'abc' }", new InputMarker()); EasyMock.verify(mockOutputMgr); |