[
https://issues.apache.org/jira/browse/HDFS-3202?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aaron T. Myers updated HDFS-3202:
---------------------------------
Attachment: HDFS-3202.patch
Here's a patch which addresses the issue.
I'm struggling with how to write a test case for this, since both the NN and DN
use a static function to determine their own build version. Posting a patch now
while I think about how to do so. Suggestions are certainly welcome.
I tested this by adding some debugging output to BPServiceActor#checkNNVersion
that outputs the NN's and DN's build versions. I confirmed that without the
patch the two versions are always the same, and with the patch the NN version
is correctly different from the DN version if the NN's build version is
different.
> NamespaceInfo PB translation drops build version
> ------------------------------------------------
>
> Key: HDFS-3202
> URL: https://issues.apache.org/jira/browse/HDFS-3202
> Project: Hadoop HDFS
> Issue Type: Bug
> Components: data-node
> Affects Versions: 2.0.0
> Reporter: Aaron T. Myers
> Assignee: Aaron T. Myers
> Attachments: HDFS-3202.patch
>
>
> The PBHelper#convert(NamespaceInfoProto) function doesn't pass the build
> version from the NamespaceInfoProto to the created NamespaceInfo object.
> Instead, the NamespaceInfo constructor gets the build version using the
> static function Storage#getBuildVersion. DNs also use this static function to
> determine their own build version. This means that the check the DN does to
> compare its own build version to that of the NN always passes, regardless of
> what build version exists on the NN.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira