This test currently has several flaws:
- It calls DN.updateBlock with a BlockInfo instance, which then causes java.lang.RuntimeException: java.lang.NoSuchMethodException: org.apache.hadoop.hdfs.server.namenode.BlocksMap$BlockInfo.<init>() in the logs when the DN tries to send blockReceived for the block
- It assumes that getBlockLocations returns an up-to-date length block after a sync, which is false. It happens to work because it calls getBlockLocations directly on the NN, and thus gets a direct reference to the block in the blockmap, which later gets updated
This patch fixes this test to use the AppendTestUtil functions to intiiate recovery, and generally pass more reliably.