Description
Currently after deleting a snapshottable directory which does not have snapshots any more, we also remove the directory from the snapshottable directory list in SnapshotManager. This works fine when handling a delete request from user. However, when we apply the OP_DELETE editlog, FSDirectory#unprotectedDelete(String, long) is called, which does not contain the "updating snapshot manager" process. This may leave an non-existent inode id in the snapshottable directory list, and can even lead to FSImage corruption.