[ 
https://issues.apache.org/jira/browse/HADOOP-5124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hairong Kuang updated HADOOP-5124:
----------------------------------

    Attachment: optimizeInvalidate2.patch

This patch incorporates Konstantin's first comment.

As for (3), I am not clear how to evaluate the optimization. The goal of the 
new strategy is not to improve performance. Instead it aims to give fairness to 
all nodes when computing invalidation work. The current strategy always favors 
the ones in the beginning of the map since recentInvalidateSets is a TreeMap so 
it is sorted. Another flaw is that after the first node is scheduled, the node 
is reinserted into the map if it still has remaining blocks. Since it becomes 
the first node again, next call of invalidateWorkForOneNode will work on the 
same node again. The current strategy would work fine if recentInvalidateSets 
is a FIFO queue.

> A few optimizations to FsNamesystem#RecentInvalidateSets
> --------------------------------------------------------
>
>                 Key: HADOOP-5124
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5124
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: dfs
>            Reporter: Hairong Kuang
>            Assignee: Hairong Kuang
>             Fix For: 0.21.0
>
>         Attachments: optimizeInvalidate.patch, optimizeInvalidate1.patch, 
> optimizeInvalidate2.patch
>
>
> This jira proposes a few optimization to FsNamesystem#RecentInvalidateSets:
> 1. when removing all replicas of a block, it does not traverse all nodes in 
> the map. Instead it traverse only the nodes that the block is located.
> 2. When dispatching blocks to datanodes in ReplicationMonitor. It randomly 
> chooses a predefined number of datanodes and dispatches blocks to those 
> datanodes. This strategy provides fairness to all datanodes. The current 
> strategy always starts from the first datanode.

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