[ https://issues.apache.org/jira/browse/HDFS-6800?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14115878#comment-14115878 ]
James Thomas commented on HDFS-6800: ------------------------------------ Thanks, Arpit. Here are the key issues I think we need to test (beyond simply checking that rolling upgrade and rolling upgrade rollback work without data loss after HDFS-6482): For a rolling upgrade that changes the DN layout version: * On upgrade finalize, make sure that the {{previous}} directories on the DNs are deleted * On upgrade rollback, make sure the trash is deleted and not restored * On upgrade rollback, make sure the {{previous}} directories on the DNs are not deleted prior to the rollback (need to wait until a few block reports have occurred to make sure there is no deletion) For a rolling upgrade that does not change the DN layout version: * Make sure that we roll back correctly using the {{-rollback}} flag Downgrade is not a concern for us since we cannot downgrade after changing the DN layout version. > Support Datanode layout changes with rolling upgrade > ---------------------------------------------------- > > Key: HDFS-6800 > URL: https://issues.apache.org/jira/browse/HDFS-6800 > Project: Hadoop HDFS > Issue Type: Improvement > Components: datanode > Affects Versions: 2.6.0 > Reporter: Colin Patrick McCabe > Assignee: James Thomas > Fix For: 3.0.0, 2.6.0 > > Attachments: HDFS-6800.2.patch, HDFS-6800.3.patch, HDFS-6800.4.patch, > HDFS-6800.5.patch, HDFS-6800.6.patch, HDFS-6800.7.patch, HDFS-6800.8.patch, > HDFS-6800.patch > > > We need to handle attempts to rolling-upgrade the DataNode to a new storage > directory layout. > One approach is to disallow such upgrades. If we choose this approach, we > should make sure that the system administrator gets a helpful error message > and a clean failure when trying to use rolling upgrade to a version that > doesn't support it. Based on the compatibility guarantees described in > HDFS-5535, this would mean that *any* future DataNode layout changes would > require a major version upgrade. > Another approach would be to support rolling upgrade from an old DN storage > layout to a new layout. This approach requires us to change our > documentation to explain to users that they should supply the {{\-rollback}} > command on the command-line when re-starting the DataNodes during rolling > rollback. Currently the documentation just says to restart the DataNode > normally. > Another issue here is that the DataNode's usage message describes rollback > options that no longer exist. The help text says that the DN supports > {{\-rollingupgrade rollback}}, but this option was removed by HDFS-6005. -- This message was sent by Atlassian JIRA (v6.2#6252)