You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Amareshwari Sriramadasu (JIRA)" <ji...@apache.org> on 2010/07/05 06:00:50 UTC
[jira] Commented: (MAPREDUCE-1914) TrackerDistributedCacheManager
never cleans its input directories
[ https://issues.apache.org/jira/browse/MAPREDUCE-1914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12885100#action_12885100 ]
Amareshwari Sriramadasu commented on MAPREDUCE-1914:
----------------------------------------------------
I see that this has been fixed by MAPREDUCE-1538 with following code change :
{code}
@@ -268,18 +282,9 @@
for (CacheStatus lcacheStatus : deleteSet) {
synchronized (lcacheStatus) {
deleteLocalPath(asyncDiskService,
- FileSystem.getLocal(conf), lcacheStatus.localizedLoadPath);
- // decrement the size of the cache from baseDirSize
- synchronized (baseDirSize) {
- Long dirSize = baseDirSize.get(lcacheStatus.localizedBaseDir);
- if ( dirSize != null ) {
- dirSize -= lcacheStatus.size;
- baseDirSize.put(lcacheStatus.localizedBaseDir, dirSize);
- } else {
- LOG.warn("Cannot find record of the baseDir: " +
- lcacheStatus.localizedBaseDir + " during delete!");
- }
- }
+ FileSystem.getLocal(conf), lcacheStatus.getLocalizedUniqueDir());
+ // Update the maps baseDirSize and baseDirNumberSubDir
+ deleteCacheInfoUpdate(lcacheStatus);
{code}
The above code always deletes lcacheStatus.getLocalizedUniqueDir(), which is reported in this issue. Am I missing something?
> TrackerDistributedCacheManager never cleans its input directories
> -----------------------------------------------------------------
>
> Key: MAPREDUCE-1914
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-1914
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Reporter: Dick King
> Assignee: Dick King
>
> When we localize a file into a node's cache, it's installed in a directory whose subroot is a random {{long}} . These {{long}} s all sit in a single flat directory [per disk, per cluster node]. When the cached file is no longer needed, its reference count becomes zero in a tracking data structure. The file then becomes eligible for deletion when the total amount of space occupied by cached files exceeds 10G [by default] or the total number of such files exceeds 10K.
> However, when we delete a cached file, we don't delete the directory that contains it; this importantly includes the elements of the flat directory, which then accumulate until they reach a system limit, 32K in some cases, and then the node stops working.
> We need to delete the flat directory when we delete the localized cache file it contains.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.