Understand the summary of all the use cases, root causes, and solutions in this section.
Open file cases (Step 2 and Step 3) is recovered eventually when the lease expires and the metadata is persisted to the NameNode. However, the problem is, it can have additional data that is written after the upgrade.
The append API is the main cause of files being corrupt as you continue to write to the blocks with future genstamps. Rolling back at this point corrupts the file because of genstamp mismatch. However, using Step 1, you can recover the corrupted files.