[
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)