This is a refactor patch which its main concerns are:
- breaking the dependency between FSEditLog and FSImage
- Splitting the abstracting the error handling and directory management,
- Decoupling Storage from FSImage.
In order to accomplish the above goal, we will need to introduce new classes:
- NNStorage: Will care about the storage. It extends Storage class, and will contain the StorageDirectories.
- NNUtils: Some utility static methods on FSImage and FSEditLog will be moved here.
- PersistenceManager: FSNameSystem will now be responsible for managing the FSImage & FSEditLog objects. There will be some logic that will have to moved out of FSImage to facilite this. For this we propose a PersistanceManager? object as follows.
For more deep details, see the design document uploaded.
|Separate Storage from FSImage||Resolved|