You are viewing a plain text version of this content. The canonical link for it is here.
Posted to hdfs-dev@hadoop.apache.org by "Aravindan Vijayan (Jira)" <ji...@apache.org> on 2019/11/14 22:03:00 UTC

[jira] [Created] (HDFS-14989) Add a 'swapBlockList' operation to Namenode.

Aravindan Vijayan created HDFS-14989:
----------------------------------------

             Summary: Add a 'swapBlockList' operation to Namenode.
                 Key: HDFS-14989
                 URL: https://issues.apache.org/jira/browse/HDFS-14989
             Project: Hadoop HDFS
          Issue Type: Sub-task
            Reporter: Aravindan Vijayan
            Assignee: Aravindan Vijayan


Borrowing from the design doc.

bq. 
The swapBlockList takes two parameters, a source file and a destination file. This operation swaps the blocks belonging to the source and the destination atomically.

The namespace metadata of interest is the INodeFile class. A file (INodeFile) contains a header composed of PREFERRED_BLOCK_SIZE, BLOCK_LAYOUT_AND_REDUNDANCY and STORAGE_POLICY_ID. In addition, an INodeFile contains a list of blocks (BlockInfo[]). The operation will swap BLOCK_LAYOUT_AND_REDUNDANCY header bits and the block lists. But it will not touch other fields. To avoid complication, this operation will abort if either file is open (isUnderConstruction() == true)

Additionally, this operation introduces a new opcode OP_SWAP_BLOCK_LIST to record the change persistently.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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