@Override
  protected void doStart() {

    LOG.debug("Initializing caches");

    // obtain the max cache expire time from the ambari configuration
    final int maxTimeoutForCacheInHours =
      ambariServerConfiguration.getLogSearchMetadataCacheExpireTimeout();

    LOG.debug("Caches configured with a max expire timeout of {} hours.", maxTimeoutForCacheInHours);

    // initialize the log file name cache
    logFileNameCache = CacheBuilder.newBuilder().expireAfterWrite(maxTimeoutForCacheInHours, TimeUnit.HOURS).build();
    // initialize the log file tail URI cache
    logFileTailURICache = CacheBuilder.newBuilder().expireAfterWrite(maxTimeoutForCacheInHours, TimeUnit.HOURS).build();

    // initialize the Executor
    executor = Executors.newSingleThreadExecutor();
  }
Executor instance to be used to run REST queries against
the LogSearch service.
ambari-server/src/main/java/org/apache/ambari/server/controller/logging/LogSearchDataRetrievalService.java