hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yongjun Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
Date Tue, 25 Jul 2017 19:22:00 GMT

    [ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16100601#comment-16100601

Yongjun Zhang commented on HDFS-12191:

Thanks much [~manojg] for the comment.

Please notice that this jira is about about providing a config to enable skipping recording
atime only change (no other modification than atime),  not mtime.  So to make snapshotDiff
calculation much faster. My understanding is, the original implementation is trying to be
complete, that is, any modification to a file including access time is recorded in a snapshot.

The reason this change can potentially make snapshotDiff calc much faster is, not capturing
atime only change in snapshot can prevent this kind of files get to metadataEquals method
(which is expensive, especially when external auth provider is turned on). But of course we
may lose the accurate access time in snapshot (only if access time is the only thing changed
about the file).

Notice that snapshotDiff will not report atime only change as diff. 

Hi [~jingzhao], [~szetszwo] and  [~zhz],

Would appreciate if you guys can help taking a look and comment.

Thanks a lot.

> Provide option to not capture the accessTime change of a file to snapshot if no other
modification has been done
> ----------------------------------------------------------------------------------------------------------------
>                 Key: HDFS-12191
>                 URL: https://issues.apache.org/jira/browse/HDFS-12191
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: hdfs, namenode
>    Affects Versions: 3.0.0-beta1
>            Reporter: Yongjun Zhang
>            Assignee: Yongjun Zhang
>         Attachments: HDFS-12191.001.patch
> Currently, if the accessTime of a file changed before a snapshot is taken, this accessTime
will be captured in the snapshot, even if there is no other modifications made to this file.
> Because of this, when we calculate snapshotDiff, more work need to be done for this file,
e,g,, metadataEquals method will be called, even if there is no modification is made (thus
not recorded to snapshotDiff). This can cause snapshotDiff to slow down quite a lot when there
are a lot of files to be examined.
> This jira is to provide an option to skip capturing accessTime only change to snapshot.
Thus snapshotDiff can be done faster.
> When accessTime of a file changed, if there is other modification to the file, the access
time will still be captured in snapshot.
> Sometimes we want accessTime be captured to snapshot, such that when restoring from the
snapshot, we know the accessTime of this snapshot. So this new feature is optional, and is
controlled by a config property.
> Worth to mention is, how accurately the acessTime is captured is dependent on the following
config that has default value of 1 hour, which means new access within an hour of previous
access will not be captured.
> {code}
> public static final String  DFS_NAMENODE_ACCESSTIME_PRECISION_KEY =
>       HdfsClientConfigKeys.DeprecatedKeys.DFS_NAMENODE_ACCESSTIME_PRECISION_KEY;
> public static final long    DFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = 3600000;
> {code}
> .

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org

View raw message