Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
In the existing implementation, the Namenode has a data structure called DatanodeDescriptor. It is used to serialize contents of the Datanode while writing it to the fsimage. The same serialization method is used to send a Datanode object to the Datanode and/or the Client. This introduces the shortcoming that one cannot introduce non-persistent fields in the DatanodeDescriptor.
One solution is to separate out the following two functionality into two separate classes:
1. The fields from a Datanode that are part of the ClientProtocol and/or DatanodeProcotol.
2. The fields from a Datanode that are stored in the fsImage.