Affects Version/s: None
Fix Version/s: 0.11.0
While reading if we discover a mismatch between a block and checksum, we want to report this back to the namenode to delete the corrupted block or crc.
To implement this, we need to do the following:
1. move DFSInputStream out of DFSClient
2. add member variable to keep track of current datanode (the chosen node)
1. change reportChecksumFailure parameter crc from int to FSInputStream (needed to be able to delete it).
2. determine specific block and datanode from DFSInputStream passed to reportChecksumFailure
3. call namenode to delete block/crc vis DFSClient
1. add method to ask namenode to delete certain blocks on specifc datanode.
1. add ability to delete certain blocks on specific datanode