[ https://issues.apache.org/jira/browse/MAPREDUCE-2494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13033105#comment-13033105 ]
Owen O'Malley commented on MAPREDUCE-2494: ------------------------------------------ I was also surprised when I walked through the code and saw that it was deleting all currently unused objects. I think a straight LRU with a goal percentage of the threshold makes sense. For a first pass of this, I think the object's size should be ignored until we understand better how it interacts with the rest of the system. So something like: {code} when (free space on partition < free-limit or disk usage of dist cache > cache-limit) and time since last purge > 10 minutes: purge LRU unused objects to reach goal size of cache-limit*cache-usage-goal {code} Does that make sense? > Make the distributed cache delete entires using LRU priority > ------------------------------------------------------------ > > Key: MAPREDUCE-2494 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-2494 > Project: Hadoop Map/Reduce > Issue Type: Improvement > Components: distributed-cache > Affects Versions: 0.21.0 > Reporter: Robert Joseph Evans > Assignee: Robert Joseph Evans > > Currently the distributed cache will wait until a cache directory is above a > preconfigured threshold. At which point it will delete all entries that are > not currently being used. It seems like we would get far fewer cache misses > if we kept some of them around, even when they are not being used. We should > add in a configurable percentage for a goal of how much of the cache should > remain clear when not in use, and select objects to delete based off of how > recently they were used, and possibly also how large they are/how difficult > is it to download them again. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira