Explorar o código

AMBARI-18041. Remove default alias support for ranger_audits logs (Hayat Behlim via oleewere)

oleewere %!s(int64=9) %!d(string=hai) anos
pai
achega
2ed0fa8c27

+ 9 - 4
ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/AuditSolrDao.java

@@ -47,8 +47,7 @@ public class AuditSolrDao extends SolrDaoBase {
     String aliasNameIn = PropertiesUtil.getProperty(
         "logsearch.solr.audit.logs.alias.name", "audit_logs_alias");
     String rangerAuditCollection = PropertiesUtil.getProperty(
-        "logsearch.ranger.audit.logs.collection.name", "ranger_audits");
-    
+        "logsearch.ranger.audit.logs.collection.name");
     String splitInterval = PropertiesUtil.getProperty(
       "logsearch.audit.logs.split.interval.mins", "none");
     String configName = PropertiesUtil.getProperty(
@@ -60,9 +59,15 @@ public class AuditSolrDao extends SolrDaoBase {
 
     try {
       connectToSolr(solrUrl, zkConnectString, collection);
+      boolean createAlias = false;
+      if (aliasNameIn != null && rangerAuditCollection != null
+          && rangerAuditCollection.trim().length() > 0) {
+        createAlias = true;
+      }
+      boolean needToPopulateSchemaField = !createAlias;
       setupCollections(splitInterval, configName, numberOfShards,
-        replicationFactor);
-      if(aliasNameIn != null && rangerAuditCollection != null && rangerAuditCollection.trim().length() >0) {
+          replicationFactor, needToPopulateSchemaField);
+      if(createAlias) {
         Collection<String> collectionsIn = new ArrayList<String>();
         collectionsIn.add(collection);
         collectionsIn.add(rangerAuditCollection.trim());

+ 1 - 1
ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/ServiceLogsSolrDao.java

@@ -54,7 +54,7 @@ public class ServiceLogsSolrDao extends SolrDaoBase {
     try {
       connectToSolr(solrUrl, zkConnectString, collection);
       setupCollections(splitInterval, configName, numberOfShards,
-        replicationFactor);
+        replicationFactor,true);
     } catch (Exception e) {
       logger.error(
         "error while connecting to Solr for service logs : solrUrl="

+ 5 - 2
ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/SolrDaoBase.java

@@ -219,6 +219,7 @@ public abstract class SolrDaoBase {
               if( count == collectionListIn.size()) {
                 logger.info("Setup for alias " + aliasNameIn
                     + " is successful. Exiting setup retry thread. Collections=" + collectionListIn);
+                populateSchemaFields();
                 break;
               }
             } else {
@@ -292,7 +293,7 @@ public abstract class SolrDaoBase {
   }
 
   public void setupCollections(final String splitMode, final String configName,
-      final int numberOfShards, final int replicationFactor) throws Exception {
+      final int numberOfShards, final int replicationFactor,boolean needToPopulateSchemaField) throws Exception {
     if (isZkConnectString) {
       setup_status = createCollectionsIfNeeded(splitMode, configName,
           numberOfShards, replicationFactor);
@@ -334,7 +335,9 @@ public abstract class SolrDaoBase {
         setupThread.start();
       }
     }
-    populateSchemaFields();
+    if(needToPopulateSchemaField){
+      populateSchemaFields();
+    }
   }
 
   public boolean createCollectionsIfNeeded(final String splitMode,

+ 1 - 1
ambari-logsearch/ambari-logsearch-portal/src/main/java/org/apache/ambari/logsearch/dao/UserConfigSolrDao.java

@@ -72,7 +72,7 @@ public class UserConfigSolrDao extends SolrDaoBase {
     try {
       connectToSolr(solrUrl, zkConnectString, collection);
       setupCollections(splitInterval, configName, numberOfShards,
-        replicationFactor);
+        replicationFactor,true);
       intializeLogFeederFilter();
 
     } catch (Exception e) {