Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Duplicate
-
None
-
None
-
None
Description
Performing downgrade immediately after rolling back the cluster , will replace the blocks from trash
Since the block id for the files created before rollback will be same as the file created before downgrade, namenode will get into safemode , as the block size reported from Datanode will be different from the one in block map (corrupted blocks) .
Steps to Reproduce
Step 1: Prepare rolling upgrade using "hdfs dfsadmin -rollingUpgrade prepare" Step 2: Shutdown SNN and NN Step 3: Start NN with the "hdfs namenode -rollingUpgrade started" option. Step 4: Executed "hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade" and restarted Datanode Step 5: Create File_1 of size 11526 Step 6: Shutdown both NN and DN Step 7: Start NNs with the "hdfs namenode -rollingUpgrade rollback" option. Start DNs with the "-rollback" option. Step 8: Prepare rolling upgrade using "hdfs dfsadmin -rollingUpgrade prepare" Step 9: Shutdown SNN and NN Step 10: Start NN with the "hdfs namenode -rollingUpgrade started" option . Step 11: Executed "hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade" and restarted Datanode step 12: Add file File_2 with size 6324 (which has same blockid as previous created File_1 with block size 11526) Step 13: Shutdown both NN and DN Step 14: Start NNs with the "hdfs namenode -rollingUpgrade downgrade" option.Start DNs normally.