HDFS-2003 separated the deserialization/reading of log records from the application of those records to a namesystem. This means that we can now read through an edit log in order to determine how many valid transactions are actually stored within. This is an improvement on what the 1073 branch currently does, which is to simply look at how many bytes come before the 0xFFFF... trailer at the end of the file.
The next step after this is to use these new functions so that, when the NN starts up and finds "in-progress" files like "edits_2_inprogress", it will rename them to their finalized name like "edits_2-30" based on how many transactions are truly stored within. This will simplify logic elsewhere.