pendingReplications of FSNamesystem is not informative
------------------------------------------------------

                 Key: HADOOP-940
                 URL: https://issues.apache.org/jira/browse/HADOOP-940
             Project: Hadoop
          Issue Type: Improvement
          Components: dfs
    Affects Versions: 0.10.1
            Reporter: Hairong Kuang
             Fix For: 0.11.0


Currently when a neededReplication block is scheduled to be replicated, it is 
put to the pendingReplications queue. When it is no longer under replicated, it 
is pulled out of the pendingReplications queue. But the queue does not provide 
any information like how many targets have been choosen or who those targets 
are. PendingReplications are not used when deciding if a block is under 
replication. This may cause a block to be over replications or inaccurate 
estimate of its replication priority.

For example, when a block has 1 replicas but it's replication factor is 2, a 
data node is choosen to replicate this block and the block is put in the 
pendingReplications queue. If the block's replication factor is changed to be 3 
before the block replication notification, which is the next block report, 
comes in, the block will be put into neededReplictions queue again under the 
assumption that it needs to choose 2 targets instead of 1. So the block will 
end up with 4 replicas.

I propose that we change pendingReplications to be a map from a block to the 
choosen data nodes. Data nodes in both pendingReplications and blockMap are 
used when deciding the total number of replicas that a block has. When the name 
node is notified that the block is replicated in a choosen data node, the data 
node is moved from pendingReplications to blockMap.

Each choosen target is also associated with a timer indicating how long it 
expects to receive the block replication notification. PendingReplications 
queue needs to be periodically scanned to remove those data nodes whose timer 
is expired.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to