[ https://issues.apache.org/jira/browse/HDFS-13021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16341435#comment-16341435 ]
Tsz Wo Nicholas Sze commented on HDFS-13021: -------------------------------------------- The behavior is by design as it stated in TestBlockStoragePolicy. {code:java} // check the policy for /dir/.snapshot/s1/foo/f1. Note we always return // the latest storage policy for a file/directory. {code} The problem is: what should HDFS do if the old and new storage policies are different? > Incorrect storage policy of snapshot file was returned by getStoragePolicy > command > ---------------------------------------------------------------------------------- > > Key: HDFS-13021 > URL: https://issues.apache.org/jira/browse/HDFS-13021 > Project: Hadoop HDFS > Issue Type: Bug > Components: hdfs, snapshots > Affects Versions: 3.1.0 > Reporter: LiXin Ge > Assignee: LiXin Ge > Priority: Major > Attachments: HDFS-13021.001.patch > > > Snapshots are supposed to be immutable and read only, so the file status > which in a snapshot path shouldn't follow the original file's change. > The StoragePolicy in snapshot situation acts like a bug now. > ----------- > Reproduction:Operation on snapshottable dir {{/storagePolicy}} > *before make snapshot:* > {code:java} > [bin]# hdfs storagepolicies -setStoragePolicy -path /storagePolicy -policy > PROVIDED > Set storage policy PROVIDED on /storagePolicy > [bin]# hadoop fs -put /home/file /storagePolicy/file_PROVIDED > [bin]# hdfs storagepolicies -getStoragePolicy -path > /storagePolicy/file_PROVIDED > The storage policy of /storagePolicy/file_PROVIDED: > BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], > replicationFallbacks=[ARCHIVE]} > {code} > *make snapshot and check:* > {code:java} > [bin]# hdfs dfs -createSnapshot /storagePolicy s3_PROVIDED > Created snapshot /storagePolicy/.snapshot/s3_PROVIDED > [bin]# hdfs storagepolicies -getStoragePolicy -path > /storagePolicy/.snapshot/s3_PROVIDED/file_PROVIDED > The storage policy of /storagePolicy/.snapshot/s3_PROVIDED/file_PROVIDED: > BlockStoragePolicy{PROVIDED:1, storageTypes=[PROVIDED, DISK], > creationFallbacks=[PROVIDED, DISK], replicationFallbacks=[PROVIDED, DISK]} > {code} > *change the StroagePolicy and check again:* > {code:java} > [bin]# hdfs storagepolicies -setStoragePolicy -path /storagePolicy -policy HOT > Set storage policy HOT on /storagePolicy > [bin]# hdfs storagepolicies -getStoragePolicy -path > /storagePolicy/.snapshot/s3_PROVIDED/file_PROVIDED > The storage policy of /storagePolicy/.snapshot/s3_PROVIDED/file_PROVIDED: > BlockStoragePolicy{HOT:7, storageTypes=[DISK], creationFallbacks=[], > replicationFallbacks=[ARCHIVE]} ---- It shouldn't be HOT > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org