[
http://issues.apache.org/jira/browse/HADOOP-334?page=comments#action_12447565 ]
dhruba borthakur commented on HADOOP-334:
-----------------------------------------
In Response to Sameer's comments:
---------------------------------------------------
Regarding copy-on-write approach, we do not need to traverse the entire
namespace to reset the clone pointers at the end of the checkpointing process.
We can keep a lookaside list that contains all the nodes that have a clone
pointer. But we still have to acquire the global lock at the end of the
checkpointing process, traverse this lookaside list of cloned-nodes, and then
null-them.
I like the generalized scheme of fine-grain locks (instead of a global lock)
while traversing the namespace. It is more efficient once implemented
correctly. There are quite a few tricks about lock-hierarchy that one has to
play for "renames". But it can be done.
The one thing that I am not clear about is whether we get correct semantics if
the imagefile and the editfile overlap. If x, y and z are three transactions,
are you saying that
x + y + z is equilvalent to x + y + y +z where y is a
single transaction that res ides in the image file as well as the edits file.
Are you proposing something like a global transaction number to identify
duplicate transactions?
In response to Doug/Owen' comments:
-----------------------------------------------------
I was saying precisely the same thing. The only difference in my proposal was
that we do not need to clone all the nodes from a node to its root, we could
clone only the node that is being modified.
> Redesign the dfs namespace datastructures to be copy on write
> -------------------------------------------------------------
>
> Key: HADOOP-334
> URL: http://issues.apache.org/jira/browse/HADOOP-334
> Project: Hadoop
> Issue Type: Improvement
> Components: dfs
> Affects Versions: 0.4.0
> Reporter: Owen O'Malley
> Assigned To: Konstantin Shvachko
>
> The namespace datastructures should be copy on write so that the namespace
> does not need to be completely locked down from user changes while the
> checkpoint is being made.
--
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