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

Reply via email to