hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kihwal Lee (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-3835) Long-lived 2NN cannot perform a checkpoint if security is enabled and the NN restarts with outstanding delegation tokens
Date Thu, 23 Aug 2012 18:30:42 GMT

    [ https://issues.apache.org/jira/browse/HDFS-3835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13440522#comment-13440522
] 

Kihwal Lee commented on HDFS-3835:
----------------------------------

In {{FSImageFormat#loadFilesUnderConstruction()}} for files under construction, leases are
added. This is not as bad as tokens, since duplicate add will just renew the lease. I think
clearing it on reload is the right thong to do, but the impact of not having it is not too
great.
                
> Long-lived 2NN cannot perform a checkpoint if security is enabled and the NN restarts
with outstanding delegation tokens
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-3835
>                 URL: https://issues.apache.org/jira/browse/HDFS-3835
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: name-node, security
>    Affects Versions: 2.0.0-alpha
>            Reporter: Aaron T. Myers
>            Assignee: Aaron T. Myers
>             Fix For: 2.2.0-alpha
>
>         Attachments: HDFS-3835.patch
>
>
> When the 2NN wants to perform a checkpoint, it figures out the highest transaction ID
of the fsimage files on the NN, and if the 2NN has a copy of that fsimage file (because it
created that merged fsimage file the last time it did a checkpoint) then the 2NN won't download
the fsimage file from the NN, and instead only gets the new edits files from the NN. In this
case, the 2NN also doesn't even bother reloading the fsimage file it has from disk, since
it has all of the namespace state in-memory. This all works just fine.
> When the 2NN _doesn't_ have a copy of the relevant fsimage file (for example, if the
NN had restarted since the last checkpoint) then the 2NN blows away its in-memory namespace
state, downloads the fsimage file from the NN, and loads the newly-downloaded fsimage file
from disk. The bug is that when the 2NN clears its in-memory state, it only resets the namespace,
but not the delegation token map.
> The fix is pretty simple - just make the delegation token map get cleared as well as
the namespace state when a running 2NN needs to load a new fsimage from disk.
> Credit to Stephen Chu for identifying this issue.

--
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

        

Mime
View raw message