[ http://issues.apache.org/jira/browse/HADOOP-829?page=all ]
dhruba borthakur updated HADOOP-829: ------------------------------------ Attachment: datanodeserialize1.patch This patch clarifies the following rules: 1. Information that is part of the ClientProtocol or DatanodeProtocol is part of DatanodeInfo. 2. Information that is local to the Namenode and need not be persisted across namenode restarts is in DatanodeDescriptor. 3. Information that is persisted across Namenode restarts is in DatanodeImage. > Separate the datanode contents that is written to the fsimage vs the contents > used in over-the-wire communication > ----------------------------------------------------------------------------------------------------------------- > > Key: HADOOP-829 > URL: http://issues.apache.org/jira/browse/HADOOP-829 > Project: Hadoop > Issue Type: Bug > Components: dfs > Reporter: dhruba borthakur > Assigned To: dhruba borthakur > Attachments: datanodeserialize1.patch > > > 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. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira