AMBARI-24833. Get rid of custom time based triggering policy
diff --git a/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/cloud/CloudStorageLoggerFactory.java b/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/cloud/CloudStorageLoggerFactory.java
index ea422b9..33516bf 100644
--- a/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/cloud/CloudStorageLoggerFactory.java
+++ b/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/cloud/CloudStorageLoggerFactory.java
@@ -30,6 +30,7 @@
 import org.apache.logging.log4j.core.appender.rolling.DefaultRolloverStrategy;
 import org.apache.logging.log4j.core.appender.rolling.OnStartupTriggeringPolicy;
 import org.apache.logging.log4j.core.appender.rolling.SizeBasedTriggeringPolicy;
+import org.apache.logging.log4j.core.appender.rolling.TimeBasedTriggeringPolicy;
 import org.apache.logging.log4j.core.config.AppenderRef;
 import org.apache.logging.log4j.core.config.Configuration;
 import org.apache.logging.log4j.core.config.LoggerConfig;
@@ -79,22 +80,28 @@
 
     String rolloverSize = logFeederProps.getRolloverConfig().getRolloverSize().toString() + logFeederProps.getRolloverConfig().getRolloverSizeFormat();
     SizeBasedTriggeringPolicy sizeBasedTriggeringPolicy = SizeBasedTriggeringPolicy.createPolicy(rolloverSize);
-    CustomTimeBasedTriggeringPolicy customTimeBasedTriggeringPolicy = CustomTimeBasedTriggeringPolicy
-      .createPolicy(String.valueOf(logFeederProps.getRolloverConfig().getRolloverThresholdTimeMins()));
+
+    final Integer thresholdMin = logFeederProps.getRolloverConfig().getRolloverThresholdTimeMins();
+    final Integer thresholdInterval = thresholdMin * 60000; // 1 min = 60000 milliseconds
+
+    TimeBasedTriggeringPolicy timeBasedTriggeringPolicy = TimeBasedTriggeringPolicy.newBuilder()
+      .withInterval(thresholdInterval)
+      .build();
 
     final CompositeTriggeringPolicy compositeTriggeringPolicy;
 
     if (logFeederProps.getRolloverConfig().isRolloverOnStartup()) {
       OnStartupTriggeringPolicy onStartupTriggeringPolicy = OnStartupTriggeringPolicy.createPolicy(1);
       compositeTriggeringPolicy = CompositeTriggeringPolicy
-        .createPolicy(sizeBasedTriggeringPolicy, customTimeBasedTriggeringPolicy, onStartupTriggeringPolicy);
+        .createPolicy(sizeBasedTriggeringPolicy, timeBasedTriggeringPolicy, onStartupTriggeringPolicy);
     } else {
       compositeTriggeringPolicy = CompositeTriggeringPolicy
-        .createPolicy(sizeBasedTriggeringPolicy, customTimeBasedTriggeringPolicy);
+        .createPolicy(sizeBasedTriggeringPolicy, timeBasedTriggeringPolicy);
     }
 
-    DefaultRolloverStrategy defaultRolloverStrategy = DefaultRolloverStrategy.newBuilder().withMax(String.valueOf(
-      logFeederProps.getRolloverConfig().getRolloverMaxBackupFiles())).build();
+    DefaultRolloverStrategy defaultRolloverStrategy = DefaultRolloverStrategy.newBuilder()
+      .withMax(String.valueOf(logFeederProps.getRolloverConfig().getRolloverMaxBackupFiles()))
+      .build();
 
     boolean immediateFlush = logFeederProps.getRolloverConfig().isImmediateFlush();
     RollingFileAppender appender = RollingFileAppender.newBuilder()
diff --git a/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/cloud/CustomTimeBasedTriggeringPolicy.java b/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/cloud/CustomTimeBasedTriggeringPolicy.java
deleted file mode 100644
index 41bb5ba..0000000
--- a/ambari-logsearch-logfeeder/src/main/java/org/apache/ambari/logfeeder/output/cloud/CustomTimeBasedTriggeringPolicy.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.ambari.logfeeder.output.cloud;
-
-import org.apache.logging.log4j.core.Core;
-import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.core.appender.rolling.AbstractTriggeringPolicy;
-import org.apache.logging.log4j.core.appender.rolling.RollingFileManager;
-import org.apache.logging.log4j.core.config.plugins.Plugin;
-import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
-import org.apache.logging.log4j.core.config.plugins.PluginFactory;
-
-import java.util.concurrent.TimeUnit;
-
-/**
- * Rolls a file over based on time. - it works with a specific interval, it does not use the file date pattern from log4j2 configuration
- */
-@Plugin(name = "CustomTimeBasedTriggeringPolicy", category = Core.CATEGORY_NAME, printObject = true)
-public final class CustomTimeBasedTriggeringPolicy extends AbstractTriggeringPolicy {
-
-  private final long intervalMin;
-
-  private RollingFileManager manager;
-  private long nextRolloverMillis;
-
-  private CustomTimeBasedTriggeringPolicy(final long intervalMin) {
-    this.intervalMin = intervalMin;
-  }
-
-  public long getIntervalMin() {
-    return this.intervalMin;
-  }
-
-  @Override
-  public void initialize(RollingFileManager manager) {
-    this.manager = manager;
-    long fileTime = this.manager.getFileTime();
-    long actualDate = System.currentTimeMillis();
-    long diff = actualDate - fileTime;
-    long intervalMillis = TimeUnit.MINUTES.toMillis(this.intervalMin);
-    if (diff > intervalMillis) {
-      this.nextRolloverMillis = actualDate;
-    } else {
-      long remainingMillis = intervalMillis - diff;
-      this.nextRolloverMillis = actualDate + remainingMillis;
-    }
-  }
-
-  @Override
-  public boolean isTriggeringEvent(LogEvent event) {
-    if (this.manager.getFileSize() == 0L) {
-      return false;
-    } else {
-      long nowMillis = event.getTimeMillis();
-      if (nowMillis >= this.nextRolloverMillis) {
-        this.nextRolloverMillis = nowMillis + TimeUnit.MINUTES.toMillis(this.intervalMin);
-        return true;
-      } else {
-        return false;
-      }
-    }
-  }
-
-  @PluginFactory
-  public static CustomTimeBasedTriggeringPolicy createPolicy(@PluginAttribute("intervalMins") final String intervalMins) {
-    return new CustomTimeBasedTriggeringPolicy(Long.parseLong(intervalMins));
-  }
-
-}
diff --git a/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties b/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties
index 2537913..de70762 100644
--- a/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties
+++ b/ambari-logsearch-logfeeder/src/main/resources/logfeeder.properties
@@ -57,6 +57,7 @@
 logfeeder.cloud.rollover.threshold.size=1
 logfeeder.cloud.rollover.threshold.size.unit=K
 logfeeder.cloud.rollover.immediate.flush=true
+logfeeder.cloud.rollover.use.gzip=true
 
 logfeeder.hdfs.host=c7401.ambari.apache.org
 logfeeder.hdfs.port=8020