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

Suresh Srinivas commented on HDFS-5907:
---------------------------------------

Comments:
# nit - ENUM_WITH_ROLLING_UPGRAE_OPTION - typo in upgrade
# FSDataset method signalRollingUpgrade - should this be a generic method like 
enableTrashForDelete, restoreFromTrash and clenupTrash, instead of capturing 
the intent of rolling upgrades? That way this capability could be used in the 
future for other cases?
# Why is on finalize the blocks in trash are not being deleted?
# nit - DataNode#parseArguments() - call to setRollingUpgradeStartupOption() 
might throw IllegalArgumentException or IndexOutOfBoundsException.
# Sorry I missed the logic of ENUM_WITH_ROLLING_UPGRAE_OPTION and its been a 
while, but I also forgot about why we added DFS_DATANODE_STARTUP_KEY in the 
first place.
# BlockPoolSliceStorage#restoreBlockFilesFromTrash - @param does not patch 
argument name. Changing argument name ot trashRoot would be better. Also the 
logic is not quite right. restoreDirectory is always going to be null right. 
Checking for null seems redundant and also you can just rename the trash to 
getRestoreDirectory(child).
# The addition to javadoc of BlockPoolSliceStorage#doRollBack() about trash 
directory seems unnecessary. During regular rollback trash directory is not 
restored, right?
# BPServiceActor - should processing rolling upgrade status be moved to a 
private method to keep offerService() method concise?
# nit: FsDatasetAsyncDiskService#run() could use conditional operation to set 
the result to make the code concise.
# Unit tests required for patterns added to BlockPoolSliceStorage, and methods 
getTrashDirectory, getRestoreDirectory. Also these methods might be easier to 
test, if it accepts string



> Handle block deletion requests during rolling upgrades
> ------------------------------------------------------
>
>                 Key: HDFS-5907
>                 URL: https://issues.apache.org/jira/browse/HDFS-5907
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: datanode
>    Affects Versions: HDFS-5535 (Rolling upgrades)
>            Reporter: Arpit Agarwal
>            Assignee: Arpit Agarwal
>         Attachments: HDFS-5907.01.patch, HDFS-5907.02.patch
>
>
> DN changes when a rolling upgrade is in progress:
> # DataNode should handle block deletions by moving block files to 'trash'.
> # Block files should be restored to their original locations during a 
> rollback.
> # Purge trash when the rolling upgrade is finalized.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to