[
https://issues.apache.org/jira/browse/HDFS-1104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12859993#action_12859993
]
Allen Wittenauer commented on HDFS-1104:
----------------------------------------
#1: atime is important from an operations perspective for random usage file
systems, such as tmp directories. Defaulting it off would make it counter to
almost every file system that I can think of. [In fact, I can't think of -any-
that default it off, but I'm sure there is one out there somewhere.] So a -1
on that idea.
#2 was done to mirror what we saw with posix, when fsck specifically hits a
file (since fsck mainly works on files, not blocks, like 'real' fsck). I'm
slightly concerned about changing this functionality, as I could see it being
used during debugging (the only time lots of files are accessed at all is
during a nightly fsck). But I recognize this is an extreme edge case.
#3 defeats the point of having atime at all.
#4 that just seems like a good idea in general. why hold it in memory if it
isn't getting used? +1
> Fsck triggers full GC on NameNode
> ---------------------------------
>
> Key: HDFS-1104
> URL: https://issues.apache.org/jira/browse/HDFS-1104
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: name-node
> Reporter: Hairong Kuang
> Assignee: Hairong Kuang
> Priority: Blocker
> Fix For: 0.20.3, 0.21.0, 0.22.0
>
>
> A NameNode at one of our clusters fell into full GC while fsck was performed.
> Digging into the problem shows that it is caused by how NameNode handles the
> access time of a file.
> Fsck calls open on every file in the checked directory to get the file's
> block locations. Each open changes the file's access time and then leads to
> writing a transaction entry to the edit log. The current code optimizes open
> so that it returns without issuing synchronizing the edit log to the disk. It
> happened that in our cluster no other jobs were running while fsck was
> performed. No edit log sync was ever called. So all open transactions were
> kept in memory. When the edit log buffer got full, it automatically doubled
> its space by allocating a new buffer. Full GC happened when no contiguous
> space were found when allocating a new bigger buffer.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.