Recently, I meet one case that NameNode missing block after restart which is related with
a. during NameNode restart, it will return command `DNA_REGISTER` to DataNode when receive some RPC request from DataNode.
b. when DataNode receive `DNA_REGISTER` command, it will run #reRegister async.
c. As we know, #register will trigger BR immediately.
d. because #reRegister run async, so we could not make sure which one run first between send FBR and clear IBR. If clean IBR run first, it will be OK. But if send FBR first then clear IBR, it will missing some blocks received between these two time point until next FBR.