The rename operation has many scenarios that are not consistently implemented across file systems.
Strictly define the expected behavior of filesystem APIs and write tests to verify compliance
Make contracts of LocalFileSystem and DistributedFileSystem consistent
HDFS doesn't raise FileNotFoundException if the source of a rename() is missing
HDFS needs to support new rename introduced for FileContext