[
https://issues.apache.org/jira/browse/HDFS-4897?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13679834#comment-13679834
]
Kousuke Saruta commented on HDFS-4897:
--------------------------------------
In 3.0.0 implementation, cp -p command preserves only mtime, atime, owner,
group, permisson of files.
I think that as well as quota, other attributes should be preserved by cp -p
command. So, I think that adding preserveAttributes(Path src, Path dst) is good
idea.
{code}
protected void copyFileToTarget(PathData src, PathData target) throws
IOException {
src.fs.setVerifyChecksum(verifyChecksum);
InputStream in = null;
try {
in = src.fs.open(src.path);
copyStreamToTarget(in, target);
if(preserve) {
target.fs.setTimes(
target.path,
src.stat.getModificationTime(),
src.stat.getAccessTime());
target.fs.setOwner(
target.path,
src.stat.getOwner(),
src.stat.getGroup());
target.fs.setPermission(
target.path,
src.stat.getPermission());
}
} finally {
IOUtils.closeStream(in);
}
}
{code}
> Copying a directory does not include the directory's quota settings
> -------------------------------------------------------------------
>
> Key: HDFS-4897
> URL: https://issues.apache.org/jira/browse/HDFS-4897
> Project: Hadoop HDFS
> Issue Type: Bug
> Affects Versions: 3.0.0
> Reporter: Stephen Chu
> Labels: quota
>
> [~atm] and I found that when a directory is copied, its quotas settings
> aren't included.
> {code}
> [04:21:33] atm@simon:~/src/apache/hadoop.git$ hadoop fs -ls /user
> Found 2 items
> drwxr-xr-x - atm atm 0 2013-06-07 16:17 /user/atm
> drwx------ - hdfs supergroup 0 2013-06-07 16:21 /user/hdfs
> [04:21:44] atm@simon:~/src/apache/hadoop.git$ hadoop fs -count -q /user/atm
> 100 91 none inf 7
> 2 3338 /user/atm
> [04:21:51] atm@simon:~/src/apache/hadoop.git$ sudo -u hdfs -E `which hadoop`
> fs -cp /user/atm /user/atm-copy
> [04:22:00] atm@simon:~/src/apache/hadoop.git$ hadoop fs -count -q
> /user/atm-copy
> none inf none inf 6
> 1 3338 /user/atm-copy
> {code}
> This also means that a user will not retain quotas settings when the user
> takes snapshots and restores a subtree using snapshots because we use copy
> (not allowed to move snapshots).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira