ambari-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Nettleton (JIRA)" <>
Subject [jira] [Updated] (AMBARI-19658) LogSearch Integration Cache Timeout should be configurable
Date Tue, 24 Jan 2017 22:55:26 GMT


Robert Nettleton updated AMBARI-19658:
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

Patch merged to trunk and branch-2.5

> LogSearch Integration Cache Timeout should be configurable
> ----------------------------------------------------------
>                 Key: AMBARI-19658
>                 URL:
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-server
>    Affects Versions: 2.4.0
>            Reporter: Robert Nettleton
>            Assignee: Robert Nettleton
>            Priority: Critical
>             Fix For: 2.5.0
>         Attachments: AMBARI-19658.patch
> In Ambari 2.4.0, during the initial integration with LogSearch, a cache was implemented
to reduce the number of calls to the LogSearch service when the PropertyProvider implementation
for LogSearch integration is called in other contexts (such as Rolling/Express Upgrades, REST
API calls on the HostComponent resource, etc).  
> That cache was implemented in the following class:
> {code}
> org.apache.ambari.server.controller.logging.LogSearchDataRetrievalService
> {code}
> In the initial implementation, the cache was hard-coded to expire within in hour. 
> In org.apache.ambari.server.controller.logging.LogSearchDataRetrievalService#doStart:
> {code}
> protected void doStart() {
>     LOG.debug("Initializing caches");
>     // initialize the log file name cache
>     logFileNameCache = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.HOURS).build();
>     // initialize the log file tail URI cache
>     logFileTailURICache = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.HOURS).build();
>     // initialize the Executor
>     executor = Executors.newSingleThreadExecutor();
>   }
> {code}
> An hour is probably too short of an interval, since the cache data is unlikely to change
often.  This timeout should be a configurable option in the Ambari LogSearch Integration code.
> 1. The default timeout should be much larger, as this information obtained from the LogSearch
service is generally static.  We should increase the timeout to be at least 24 hours, or perhaps
move to an unbounded timeout, provided that the timeout would be configurable. 
> 2. The max timeout for the cache should be configurable in, with a
reasonable default if not set (as mentioned above). 

This message was sent by Atlassian JIRA

View raw message