The corrupt replica identified by Active Namenode, isn't identified by the Other Namenode, when it is failovered to Active, in case the replica is being marked corrupt due to updatePipeline.
Scenario to repro :
1. Create a file, while writing turn one datanode down, to trigger update pipeline.
2. Write some more data.
3. Close the file.
4. Turn on the shutdown datanode.
5. The replica in the datanode will be identifed as CORRUPT and the corrupt count will be 1.
6. Failover to other Namenode.
7. Wait for all pending IBR processing.
8. The corrupt count will not be same, and the FSCK won't show the corrupt replica.
9. Failover back to first namenode.
10. Corrupt count and corrupt replica will be there.
Both Namenodes shows different stuff.