[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done to this file
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16146620#comment-16146620 ] Yongjun Zhang commented on HDFS-12191: -- Many thanks to [~manojg] for the review, committed to trunk and branch-2. > Provide option to not capture the accessTime change of a file to snapshot if > no other modification has been done to this file > - > > 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 > Fix For: 2.9.0, 3.0.0-beta1 > > Attachments: HDFS-12191.001.patch, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.patch, HDFS-12191.005.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done to this file
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16146411#comment-16146411 ] Hudson commented on HDFS-12191: --- SUCCESS: Integrated in Jenkins build Hadoop-trunk-Commit #12267 (See [https://builds.apache.org/job/Hadoop-trunk-Commit/12267/]) HDFS-12191. Provide option to not capture the accessTime change of a (yzhang: rev cf93d60d3f032000e5b78a08d320793d78799f3d) * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirAttrOp.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/TestFSDirAttrOp.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/snapshot/TestSnapshotDiffReport.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSEditLogLoader.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/snapshot/SnapshotManager.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/INode.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSConfigKeys.java * (edit) hadoop-hdfs-project/hadoop-hdfs/src/main/resources/hdfs-default.xml > Provide option to not capture the accessTime change of a file to snapshot if > no other modification has been done to this file > - > > 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, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.patch, HDFS-12191.005.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16145885#comment-16145885 ] Manoj Govindassamy commented on HDFS-12191: --- LGTM, +1. Thanks [~yzhangal]. > 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, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.patch, HDFS-12191.005.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16144866#comment-16144866 ] Hadoop QA commented on HDFS-12191: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 15s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 13m 51s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 49s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 43s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 55s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 41s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 39s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 48s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 40s{color} | {color:orange} hadoop-hdfs-project/hadoop-hdfs: The patch generated 3 new + 567 unchanged - 0 fixed = 570 total (was 567) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} xml {color} | {color:green} 0m 1s{color} | {color:green} The patch has no ill-formed XML file. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 37s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 90m 35s{color} | {color:red} hadoop-hdfs in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 17s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}116m 31s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureReporting | | | hadoop.hdfs.server.blockmanagement.TestUnderReplicatedBlocks | | | hadoop.hdfs.TestReadStripedFileWithDecoding | | | hadoop.hdfs.TestLeaseRecoveryStriped | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure060 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure010 | | | hadoop.hdfs.TestClientProtocolForPipelineRecovery | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure160 | | | hadoop.hdfs.TestListFilesInFileContext | | Timed out junit tests | org.apache.hadoop.hdfs.TestReplication | | | org.apache.hadoop.hdfs.TestWriteReadStripedFile | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:14b5c93 | | JIRA Issue | HDFS-12191 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12884182/HDFS-12191.005.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml | | uname | Linux 686e2c70db53 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / 312b1fd | | Default Java | 1.8.0_144 | | findbugs | v3.1.0-RC1 | | checkstyle | https://builds.apache.org/job/PreCommit-HDFS-Build/20906/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16144762#comment-16144762 ] Yongjun Zhang commented on HDFS-12191: -- Uploaded rev5 to correct the config name in javadoc of the test code: {quote} TestSnapshotDiffReport:732 still refers to the the old property name {quote} > 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, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.patch, HDFS-12191.005.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16144748#comment-16144748 ] Yongjun Zhang commented on HDFS-12191: -- Thanks [~manojg]. {quote} There are quite a few thread sleep for 3sec. You can always call the setTimes() with a constructed time instead of the actual waiting. {quote} The sleep is there because the new operation takes the real time. If we use setTimes() to set the time to a later time, the real operation that records real time could move the time back which would be wrong. > 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, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16144199#comment-16144199 ] Manoj Govindassamy commented on HDFS-12191: --- LGTM, +1. Thanks [~yzhangal]. Nits: * TestSnapshotDiffReport:732 still refers to the the old property name * There are quite a few thread sleep for 3sec. You can always call the setTimes() with a constructed time instead of the actual waiting. > 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, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142974#comment-16142974 ] Yongjun Zhang commented on HDFS-12191: -- The failed doesn't seem related. Rerun them manually, all succeeded except TestLeaseRecoveryStriped.testLeaseRecovery, created HDFS-12360. > 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, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142743#comment-16142743 ] Hadoop QA commented on HDFS-12191: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 15s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 14m 15s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 49s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 44s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 54s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 42s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 39s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 40s{color} | {color:orange} hadoop-hdfs-project/hadoop-hdfs: The patch generated 4 new + 567 unchanged - 0 fixed = 571 total (was 567) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 57s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} xml {color} | {color:green} 0m 2s{color} | {color:green} The patch has no ill-formed XML file. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 52s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 85m 53s{color} | {color:red} hadoop-hdfs in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 16s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}113m 0s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure130 | | | hadoop.hdfs.TestDFSStripedInputStreamWithRandomECPolicy | | | hadoop.hdfs.TestReadStripedFileWithDecoding | | | hadoop.hdfs.TestLeaseRecoveryStriped | | | hadoop.hdfs.server.datanode.TestDirectoryScanner | | Timed out junit tests | org.apache.hadoop.hdfs.TestWriteReadStripedFile | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:14b5c93 | | JIRA Issue | HDFS-12191 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12883856/HDFS-12191.004.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml | | uname | Linux 6726b4986195 3.13.0-119-generic #166-Ubuntu SMP Wed May 3 12:18:55 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / bb6a3c8 | | Default Java | 1.8.0_144 | | findbugs | v3.1.0-RC1 | | checkstyle | https://builds.apache.org/job/PreCommit-HDFS-Build/20880/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt | | unit | https://builds.apache.org/job/PreCommit-HDFS-Build/20880/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt | | Test Results | https://builds.apache.org/job/PreCommit-HDFS-Build/20880/testReport/ | | modules | C: hadoop-hdfs-project/hadoop-hdfs
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142646#comment-16142646 ] Hadoop QA commented on HDFS-12191: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 15s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 2 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 14m 23s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 48s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 44s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 53s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 41s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 41s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 49s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 41s{color} | {color:orange} hadoop-hdfs-project/hadoop-hdfs: The patch generated 4 new + 567 unchanged - 0 fixed = 571 total (was 567) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} xml {color} | {color:green} 0m 1s{color} | {color:green} The patch has no ill-formed XML file. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 45s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 37s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 98m 8s{color} | {color:red} hadoop-hdfs in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 16s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black}124m 36s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure140 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure100 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure060 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure090 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure210 | | | hadoop.hdfs.TestFileAppendRestart | | | hadoop.hdfs.TestReadStripedFileWithMissingBlocks | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure170 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure040 | | | hadoop.hdfs.TestLeaseRecoveryStriped | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure070 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure120 | | Timed out junit tests | org.apache.hadoop.hdfs.TestWriteReadStripedFile | | | org.apache.hadoop.hdfs.TestReadStripedFileWithDecoding | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:14b5c93 | | JIRA Issue | HDFS-12191 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12883856/HDFS-12191.004.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml | | uname | Linux 9892b18f8413 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / b89ffcf | |
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16142610#comment-16142610 ] Yongjun Zhang commented on HDFS-12191: -- Thanks much for the review [~manojg]. Uploaded rev004 to address your comments. Good catch of the typo. > 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, HDFS-12191.002.patch, > HDFS-12191.003.patch, HDFS-12191.004.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16141971#comment-16141971 ] Manoj Govindassamy commented on HDFS-12191: --- Thanks for working on the patch revision [~yzhangal]. Overall looks good to me. +1 pending following nits: 1. {{DFSConfigKeys}} Typo in DFS_NAMENODE_SNAPTHOT_SKIP_CAPTURE_ACCESSTIME_ONLY_CHANGE_DEFAULT 2. Unit test {{TestFSDirAttrOp.testUnprotectedSetTimes()}} is failing with NPE. Probably the test needs more mock up to avoid NPE. 2. {{SnapshotManager}} {noformat} public boolean skipCaptureAccessTimeOnlyChange() { return skipCaptureAccessTimeOnlyChange; } {noformat} How about a different method name getSkipCaptureAccessTimeOnlyChange() or isSkipCaptureAccessTimeOnlyChange()? > 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, HDFS-12191.002.patch, > HDFS-12191.003.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16141098#comment-16141098 ] Hadoop QA commented on HDFS-12191: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 15s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 16m 39s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 54s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 43s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 57s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 44s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 42s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 47s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 47s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 41s{color} | {color:orange} hadoop-hdfs-project/hadoop-hdfs: The patch generated 3 new + 567 unchanged - 0 fixed = 570 total (was 567) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 53s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} xml {color} | {color:green} 0m 1s{color} | {color:green} The patch has no ill-formed XML file. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 48s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 36s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 66m 18s{color} | {color:red} hadoop-hdfs in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 16s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 95m 26s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure160 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure070 | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure080 | | | hadoop.hdfs.server.namenode.TestFSDirAttrOp | | | hadoop.hdfs.server.datanode.TestDataNodeVolumeFailureReporting | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:14b5c93 | | JIRA Issue | HDFS-12191 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12883638/HDFS-12191.003.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml | | uname | Linux d961167b8177 3.13.0-123-generic #172-Ubuntu SMP Mon Jun 26 18:04:35 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / 9e2699a | | Default Java | 1.8.0_144 | | findbugs | v3.1.0-RC1 | | checkstyle | https://builds.apache.org/job/PreCommit-HDFS-Build/20855/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt | | unit | https://builds.apache.org/job/PreCommit-HDFS-Build/20855/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt | | Test Results | https://builds.apache.org/job/PreCommit-HDFS-Build/20855/testReport/ | | modules | C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs | | Console
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16141036#comment-16141036 ] Yongjun Zhang commented on HDFS-12191: -- Thanks a lot for the review [~manojg]. Uploaded rev3 to address all. For item 3, per our discussion, I kept my original wording, but changed file to file/directory as you pointed out. Would you please take a look again? thanks. > 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, HDFS-12191.002.patch, > HDFS-12191.003.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16140691#comment-16140691 ] Manoj Govindassamy commented on HDFS-12191: --- Thanks for working on the patch revision [~yzhangal]. 1. {{INode}} {noformat} public abstract class INode { .. private static boolean dontCaptureAccessTimeOnlyChangeInSnapshot = false; public static void setDontCaptureAccessTimeOnlyChangeInSnapshot(boolean s) { LOG.info("Setting dontCaptureAccessTimeOnlyChangeInSnapshot to " + s); dontCaptureAccessTimeOnlyChangeInSnapshot = s; } public static boolean getDontCaptureAccessTimeOnlyChangeInSnapshot() { return dontCaptureAccessTimeOnlyChangeInSnapshot; } {noformat} * Abstract class INode doesn't look a right place for placing the snapshot logic. The callers of {{INode#setAccessTime()}} can pass in the needed details to skip recording the modifications * FSNamesystem#setAccessTimes() has all the needed details to make the decision whether to record the accesstime changes in the snapshots or not. So, shall we pass in the details from here? > 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, HDFS-12191.002.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16139370#comment-16139370 ] Hadoop QA commented on HDFS-12191: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 21s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 13m 53s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 48s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 43s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 57s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 44s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 43s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 53s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 48s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 48s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 41s{color} | {color:orange} hadoop-hdfs-project/hadoop-hdfs: The patch generated 4 new + 555 unchanged - 0 fixed = 559 total (was 555) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 56s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} xml {color} | {color:green} 0m 1s{color} | {color:green} The patch has no ill-formed XML file. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 48s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 39s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:red}-1{color} | {color:red} unit {color} | {color:red} 66m 32s{color} | {color:red} hadoop-hdfs in the patch failed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 15s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 93m 5s{color} | {color:black} {color} | \\ \\ || Reason || Tests || | Failed junit tests | hadoop.hdfs.TestDFSStripedInputStreamWithRandomECPolicy | | | hadoop.hdfs.TestDFSStripedOutputStreamWithFailure140 | | | hadoop.hdfs.server.blockmanagement.TestUnderReplicatedBlocks | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:14b5c93 | | JIRA Issue | HDFS-12191 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12883446/HDFS-12191.002.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml | | uname | Linux ccecd0f39527 3.13.0-117-generic #164-Ubuntu SMP Fri Apr 7 11:05:26 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / 7e6463d | | Default Java | 1.8.0_144 | | findbugs | v3.1.0-RC1 | | checkstyle | https://builds.apache.org/job/PreCommit-HDFS-Build/20830/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt | | unit | https://builds.apache.org/job/PreCommit-HDFS-Build/20830/artifact/patchprocess/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt | | Test Results | https://builds.apache.org/job/PreCommit-HDFS-Build/20830/testReport/ | | modules | C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs | | Console output | https://builds.apache.org/job/PreCommit-HDFS-Build/20830/console | | Powered by | Apache Yetus 0.6.0-S
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16139264#comment-16139264 ] Yongjun Zhang commented on HDFS-12191: -- Thanks a lot [~manojg] for the detailed review. I'm uploading new rev 002 to address them. * 1.1 changed to "dfs.namenode.snapshot.skip.accesstime-only-change" * 1.2 exceeding 80 chars is consistent in this file, so kept as is. Hard to avoid because of the long string * 2. reverted. This is the eft over from adding/removing debug messages. * 3. addressed * 4. This seems the best place to me to have the change. Otherwise we need to change the interface to communicate the value to here somehow. If you have thoughts, would be happy to hear. * 5. added a test to verify that access time is captured when there is other modification. Would you please take a look again? Thanks. > 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, HDFS-12191.002.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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16137209#comment-16137209 ] Manoj Govindassamy commented on HDFS-12191: --- Thanks for working on this [~yzhangal]. My comments below. 1. {{DFSConfigKeys}} {noformat} DFS_NAMENODE_DONT_CAPTURE_ACCESSTIME_ONLY_CHANGE_IN_SNAPSHOT = "dfs.namenode.dont.capture.accesstime.only.change.in.snapshot" {noformat} 1.1 Any other better name for the above new config key? We have one other snapshot related config with the prefix "dfs.namenode.snapshot...". May be we should have all snapshot related one under the same prefix for grouping and consistency. How about "dfs.namenode.snapshot.skip.accesstime-only-diff. Your thoughts? 1.2 Config and the default value lines have checkstyle issue. can you please take care of this? 2. {{DirectoryWithSnapshotFeature}} 2.1 new blank line added to line 50 is not needed 2.2 {noformat} } else { if (!dirCopy.metadataEquals(sdiff.snapshotINode)) { dirMetadataChanged = true; } } {noformat} Is this different compared to the existing "else if" block. Doesn't look so. Can be reverted. 3. {{hdfs-default.xml}} 3.1 Once the config key is changed, need to be incorporated here 3.2 "..it will not be captured in next snapshot." sounds ambiguous. The access time change history is not preserved. The file is still part of snapshot. Can we reword this? Also, there is typo in "lastest" 4. {{class INode}} {noformat} private static boolean dontCaptureAccessTimeOnlyChangeInSnapshot = false; public static void setDontCaptureAccessTimeOnlyChangeInSnapshot(boolean s) { LOG.info("Setting dontCaptureAccessTimeOnlyChangeInSnapshot to " + s); dontCaptureAccessTimeOnlyChangeInSnapshot = s; } {noformat} 4.1 Any other better ways of doing this instead of adding a static member to the core INode class. Snapshot manager can be the one to read all the configuration related to snapshots and it can take the decision accordingly instead of having the logic at the INode level {noformat} public static boolean getDontCaptureAccessTimeOnlyChangeInSnapshot() { return dontCaptureAccessTimeOnlyChangeInSnapshot; } {noformat} 4.2 Above method is never used. 5. {{FSDirAttrOp}} {noformat} static boolean unprotectedSetTimes( FSDirectory fsd, INodesInPath iip, long mtime, long atime, boolean force) throws QuotaExceededException { if (mtime != -1) { inode = inode.setModificationTime(mtime, latest); status = true; } ... if (atime != -1 && (status || force || atime > inode.getAccessTime() + fsd.getAccessTimePrecision())) { inode.setAccessTime(atime, latest); status = true; } } {noformat} >> "if there is other modification made to the file, the latest access time will be captured together with the modification in next snapshot." Looks like accessTime will always be skipped with the config turned on. Please correct me if my understanding from the code is wrong. > 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
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16101040#comment-16101040 ] Yongjun Zhang commented on HDFS-12191: -- Thanks [~manojg]. - We don't want to break backward compatibility, so I made the solution only enabled with config, and disabled by default. - Though it'd be uncommon, some user may still need it > 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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16100998#comment-16100998 ] Manoj Govindassamy commented on HDFS-12191: --- If the {{atime}} recorded in the snapshots for the files are not useful, I would prefer to avoid recording them them without even having a config which would be always turned on. > 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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ 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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16100531#comment-16100531 ] Manoj Govindassamy commented on HDFS-12191: --- [~jingzhao], [~zhz], Nicholas, Would like to understand the rational behind "atime" only or "mtime" only change being part of recordModification(). Technically speaking, it makes sense to record modification for any meta data modification, and since setTime() is changing the meta data, it wants to do record modification. So, would like to know what we would be missing if we are going to skip recoding modification for "atime" changes. > 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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16097846#comment-16097846 ] Hadoop QA commented on HDFS-12191: -- | (x) *{color:red}-1 overall{color}* | \\ \\ || Vote || Subsystem || Runtime || Comment || | {color:blue}0{color} | {color:blue} reexec {color} | {color:blue} 0m 16s{color} | {color:blue} Docker mode activated. {color} | || || || || {color:brown} Prechecks {color} || | {color:green}+1{color} | {color:green} @author {color} | {color:green} 0m 0s{color} | {color:green} The patch does not contain any @author tags. {color} | | {color:green}+1{color} | {color:green} test4tests {color} | {color:green} 0m 0s{color} | {color:green} The patch appears to include 1 new or modified test files. {color} | || || || || {color:brown} trunk Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 13m 24s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 54s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} checkstyle {color} | {color:green} 0m 43s{color} | {color:green} trunk passed {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 53s{color} | {color:green} trunk passed {color} | | {color:red}-1{color} | {color:red} findbugs {color} | {color:red} 1m 40s{color} | {color:red} hadoop-hdfs-project/hadoop-hdfs in trunk has 10 extant Findbugs warnings. {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 38s{color} | {color:green} trunk passed {color} | || || || || {color:brown} Patch Compile Tests {color} || | {color:green}+1{color} | {color:green} mvninstall {color} | {color:green} 0m 48s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} compile {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javac {color} | {color:green} 0m 46s{color} | {color:green} the patch passed {color} | | {color:orange}-0{color} | {color:orange} checkstyle {color} | {color:orange} 0m 40s{color} | {color:orange} hadoop-hdfs-project/hadoop-hdfs: The patch generated 6 new + 568 unchanged - 0 fixed = 574 total (was 568) {color} | | {color:green}+1{color} | {color:green} mvnsite {color} | {color:green} 0m 51s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} whitespace {color} | {color:green} 0m 0s{color} | {color:green} The patch has no whitespace issues. {color} | | {color:green}+1{color} | {color:green} xml {color} | {color:green} 0m 2s{color} | {color:green} The patch has no ill-formed XML file. {color} | | {color:green}+1{color} | {color:green} findbugs {color} | {color:green} 1m 47s{color} | {color:green} the patch passed {color} | | {color:green}+1{color} | {color:green} javadoc {color} | {color:green} 0m 38s{color} | {color:green} the patch passed {color} | || || || || {color:brown} Other Tests {color} || | {color:green}+1{color} | {color:green} unit {color} | {color:green} 64m 36s{color} | {color:green} hadoop-hdfs in the patch passed. {color} | | {color:green}+1{color} | {color:green} asflicense {color} | {color:green} 0m 19s{color} | {color:green} The patch does not generate ASF License warnings. {color} | | {color:black}{color} | {color:black} {color} | {color:black} 90m 13s{color} | {color:black} {color} | \\ \\ || Subsystem || Report/Notes || | Docker | Image:yetus/hadoop:14b5c93 | | JIRA Issue | HDFS-12191 | | JIRA Patch URL | https://issues.apache.org/jira/secure/attachment/12878561/HDFS-12191.001.patch | | Optional Tests | asflicense compile javac javadoc mvninstall mvnsite unit findbugs checkstyle xml | | uname | Linux 6d550cea3de0 3.13.0-116-generic #163-Ubuntu SMP Fri Mar 31 14:13:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux | | Build tool | maven | | Personality | /testptch/hadoop/patchprocess/precommit/personality/provided.sh | | git revision | trunk / 2054324 | | Default Java | 1.8.0_131 | | findbugs | v3.1.0-RC1 | | findbugs | https://builds.apache.org/job/PreCommit-HDFS-Build/20393/artifact/patchprocess/branch-findbugs-hadoop-hdfs-project_hadoop-hdfs-warnings.html | | checkstyle | https://builds.apache.org/job/PreCommit-HDFS-Build/20393/artifact/patchprocess/diff-checkstyle-hadoop-hdfs-project_hadoop-hdfs.txt | | Test Results | https://builds.apache.org/job/PreCommit-HDFS-Build/20393/testReport/ | | modules | C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs | | Console output | https://builds.apache.org/job/PreCommit-HDFS-Build/20393/console | | Powered by | Apache Yetus 0.6.0-SNAPSHOT http://yetus.apache.org | This message was automatically generated. > Provide option to not capture the accessTime change of a file to snapsho
[jira] [Commented] (HDFS-12191) Provide option to not capture the accessTime change of a file to snapshot if no other modification has been done
[ https://issues.apache.org/jira/browse/HDFS-12191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16097827#comment-16097827 ] Yongjun Zhang commented on HDFS-12191: -- Submitted patch 001. > 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 longDFS_NAMENODE_ACCESSTIME_PRECISION_DEFAULT = > 360; > {code} > . -- This message was sent by Atlassian JIRA (v6.4.14#64029) - To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org