AMBARI-20515 Link Log Feeder not working with Kerberos (mgergely) Change-Id: I0d925cc05ab3089840021aa5341d05fda0fe31d0
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/f64eff67 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/f64eff67 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/f64eff67 Branch: refs/heads/branch-feature-AMBARI-12556 Commit: f64eff6799a8539e78ef1491e81dad74d8ad0254 Parents: 3c514cb Author: Miklos Gergely <[email protected]> Authored: Tue Mar 21 19:51:35 2017 +0100 Committer: Miklos Gergely <[email protected]> Committed: Tue Mar 21 19:52:09 2017 +0100 ---------------------------------------------------------------------- .../org/apache/ambari/logfeeder/LogFeeder.java | 3 +- .../ambari/logfeeder/output/OutputSolr.java | 42 ++++++++++---------- 2 files changed, 24 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/f64eff67/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java ---------------------------------------------------------------------- diff --git a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java index d584890..a47c71f 100644 --- a/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java +++ b/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/LogFeeder.java @@ -97,13 +97,14 @@ public class LogFeeder { addSimulatedInputs(); mergeAllConfigs(); - LogConfigHandler.handleConfig(); SSLUtil.ensureStorePasswords(); outputManager.init(); inputManager.init(); metricsManager.init(); + LogConfigHandler.handleConfig(); + LOG.debug("=============="); Date endTime = new Date(); http://git-wip-us.apache.org/repos/asf/ambari/blob/f64eff67/ambari-logsearch/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/OutputSolr.java ---------------------------------------------------------------------- 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 53cb6c0..0030a6d 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 @@ -159,7 +159,6 @@ public class OutputSolr extends Output { SolrClient getSolrClient(String solrUrl, String zkConnectString, int count) throws Exception, MalformedURLException { SolrClient solrClient = createSolrClient(solrUrl, zkConnectString); pingSolr(solrUrl, zkConnectString, count, solrClient); - waitForConfig(); return solrClient; } @@ -222,25 +221,6 @@ public class OutputSolr extends Output { } } - private void waitForConfig() throws SolrServerException, IOException { - if (!LogFeederUtil.getBooleanProperty("logfeeder.log.filter.enable", false)) { - return; - } - - while (true) { - LOG.info("Checking if config is available"); - if (LogConfigHandler.isFilterAvailable()) { - LOG.info("Config is available"); - return; - } - try { - Thread.sleep(RETRY_INTERVAL * 1000); - } catch (InterruptedException e) { - LOG.error(e); - } - } - } - private void createSolrWorkerThread(int count, SolrClient solrClient) { SolrWorkerThread solrWorkerThread = new SolrWorkerThread(solrClient); solrWorkerThread.setName(getNameForThread() + "," + collection + ",worker=" + count); @@ -346,6 +326,8 @@ public class OutputSolr extends Output { LOG.info("SolrWorker thread started"); long lastDispatchTime = System.currentTimeMillis(); + waitForConfig(); + while (true) { long currTimeMS = System.currentTimeMillis(); OutputData outputData = null; @@ -388,6 +370,26 @@ public class OutputSolr extends Output { resetLocalBuffer(); LOG.info("Exiting Solr worker thread. output=" + getShortDescription()); } + + + private void waitForConfig() { + if (!LogFeederUtil.getBooleanProperty("logfeeder.log.filter.enable", false)) { + return; + } + + while (true) { + LOG.info("Checking if config is available"); + if (LogConfigHandler.isFilterAvailable()) { + LOG.info("Config is available"); + return; + } + try { + Thread.sleep(RETRY_INTERVAL * 1000); + } catch (InterruptedException e) { + LOG.error(e); + } + } + } /** * This will loop till Solr is available and LogFeeder is
