[ 
https://issues.apache.org/jira/browse/MESOS-2072?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bernd Mathiske updated MESOS-2072:
----------------------------------
    Sprint: Mesosphere Q1 Sprint 2 - 2/6, Mesosphere Q1 Sprint 3 - 2/20, 
Mesosphere Q1 Sprint 4 - 3/6, Mesosphere Q1 Sprint 5 - 3/20, Mesosphere Q1 
Sprint 6 - 4/3, Mesosphere Q1 Sprint 7 - 4/17, Mesosphere Q2 Sprint 8 - 5/1, 
Mesosphere Q1 Sprint 9 - 5/15  (was: Mesosphere Q1 Sprint 2 - 2/6, Mesosphere 
Q1 Sprint 3 - 2/20, Mesosphere Q1 Sprint 4 - 3/6, Mesosphere Q1 Sprint 5 - 
3/20, Mesosphere Q1 Sprint 6 - 4/3, Mesosphere Q1 Sprint 7 - 4/17, Mesosphere 
Q2 Sprint 8 - 5/1)

> Fetcher cache eviction
> ----------------------
>
>                 Key: MESOS-2072
>                 URL: https://issues.apache.org/jira/browse/MESOS-2072
>             Project: Mesos
>          Issue Type: Improvement
>          Components: fetcher, slave
>            Reporter: Bernd Mathiske
>            Assignee: Bernd Mathiske
>   Original Estimate: 336h
>  Remaining Estimate: 336h
>
> Delete files from the fetcher cache so that a given cache size is never 
> exceeded. Succeed in doing so while concurrent downloads are on their way and 
> new requests are pouring in.
> Idea: measure the size of each download before it begins, make enough room 
> before the download. This means that only download mechanisms that divulge 
> the size before the main download will be supported. AFAWK, those in use so 
> far have this property. 
> The calculation of how much space to free needs to be under concurrency 
> control, accumulating all space needed for competing, incomplete download 
> requests. (The Python script that performs fetcher caching for Aurora does 
> not seem to implement this. See 
> https://gist.github.com/zmanji/f41df77510ef9d00265a, imagine several of these 
> programs running concurrently, each one's _cache_eviction() call succeeding, 
> each perceiving the SAME free space being available.)
> Ultimately, a conflict resolution strategy is needed if just the downloads 
> underway already exceed the cache capacity. Then, as a fallback, direct 
> download into the work directory will be used for some tasks. TBD how to pick 
> which task gets treated how. 
> At first, only support copying of any downloaded files to the work directory 
> for task execution. This isolates the task life cycle after starting a task 
> from cache eviction considerations. 
> (Later, we can add symbolic links that avoid copying. But then eviction of 
> fetched files used by ongoing tasks must be blocked, which adds complexity. 
> another future extension is MESOS-1667 "Extract from URI while downloading 
> into work dir").



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to