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

Jing Zhao commented on HDFS-7056:
---------------------------------

Hi [~shv] and [~zero45], I just noticed that the current 
{{FileDiffList#findEarlierSnapshotBlocks}} is like this:
{code}
    ......
    int i = Collections.binarySearch(diffs, snapshotId);
    BlockInfoContiguous[] blocks = null;
    for(i = i >= 0 ? i : -i; i < diffs.size(); i--) {
      blocks = diffs.get(i).getBlocks();
      if(blocks != null) {
        break;
      }
    }
    return blocks;
  }
{code}

Since the semantic of this function is to find blocks recorded in a diff with 
snapshot id <= the given id, I guess the for loop should looks like:
{code}
  for(i = i >= 0 ? i : -i-2; i < diffs.size() && i >= 0; i--) {
    ......
  }
{code}

> Snapshot support for truncate
> -----------------------------
>
>                 Key: HDFS-7056
>                 URL: https://issues.apache.org/jira/browse/HDFS-7056
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: namenode
>    Affects Versions: 3.0.0
>            Reporter: Konstantin Shvachko
>            Assignee: Plamen Jeliazkov
>             Fix For: 2.7.0
>
>         Attachments: HDFS-3107-HDFS-7056-combined-13.patch, 
> HDFS-3107-HDFS-7056-combined-15.patch, HDFS-3107-HDFS-7056-combined.patch, 
> HDFS-3107-HDFS-7056-combined.patch, HDFS-3107-HDFS-7056-combined.patch, 
> HDFS-3107-HDFS-7056-combined.patch, HDFS-3107-HDFS-7056-combined.patch, 
> HDFS-3107-HDFS-7056-combined.patch, HDFS-3107-HDFS-7056-combined.patch, 
> HDFS-3107-HDFS-7056-combined.patch, HDFS-3107-HDFS-7056-combined.patch, 
> HDFS-7056-13.patch, HDFS-7056-15.patch, HDFS-7056.15_branch2.patch, 
> HDFS-7056.patch, HDFS-7056.patch, HDFS-7056.patch, HDFS-7056.patch, 
> HDFS-7056.patch, HDFS-7056.patch, HDFS-7056.patch, HDFS-7056.patch, 
> HDFSSnapshotWithTruncateDesign.docx, HDFSSnapshotWithTruncateDesign.docx, 
> editsStored, editsStored.xml
>
>
> Implementation of truncate in HDFS-3107 does not allow truncating files which 
> are in a snapshot. It is desirable to be able to truncate and still keep the 
> old file state of the file in the snapshot.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to