[ https://issues.apache.org/jira/browse/HDFS-6951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14113193#comment-14113193 ]
Yi Liu commented on HDFS-6951: ------------------------------ Hi [~clamb], thanks for the fix :) In original design, we should reserve more bits for ns, now we have to use the extension bits. yes, we should add a new layout version, I see you use {{RAW_XATTRS}}, can it be something like {{XATTRS_NAMESPACE_EXT}} or {{XATTRS_NS_EXT}}, since we can use for additional 3 Namespace. BTW, you need to update test/resources/editsStored.xml and generate new editsStored, otherwise the Jenkins is broken. {code} + if (nsOrd > XATTR_NAMESPACE_MASK) { + // namespace extension bit is needed to represent this namespace + v |= 1 << XATTR_NAMESPACE_EXT_OFFSET; + } {code} We can define a XATTR_NAMESPACE_EXT_MASK {code} v |= ((nsOrd >> 2) << XATTR_NAMESPACE_EXT_OFFSET) & XATTR_NAMESPACE_EXT_MASK {code} > Saving namespace and restarting NameNode will remove existing encryption zones > ------------------------------------------------------------------------------ > > Key: HDFS-6951 > URL: https://issues.apache.org/jira/browse/HDFS-6951 > Project: Hadoop HDFS > Issue Type: Sub-task > Components: encryption > Affects Versions: 3.0.0 > Reporter: Stephen Chu > Assignee: Charles Lamb > Attachments: HDFS-6951-prelim.002.patch, HDFS-6951-testrepo.patch, > HDFS-6951.001.patch > > > Currently, when users save namespace and restart the NameNode, pre-existing > encryption zones will be wiped out. > I could reproduce this on a pseudo-distributed cluster: > * Create an encryption zone > * List encryption zones and verify the newly created zone is present > * Save the namespace > * Kill and restart the NameNode > * List the encryption zones and you'll find the encryption zone is missing > I've attached a test case for {{TestEncryptionZones}} that reproduces this as > well. Removing the saveNamespace call will get the test to pass. -- This message was sent by Atlassian JIRA (v6.2#6252)