hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jiraposter@reviews.apache.org (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-2495) Increase granularity of write operations in ReplicationMonitor thus reducing contention for write lock
Date Sat, 05 Nov 2011 03:31:53 GMT

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

jiraposter@reviews.apache.org commented on HDFS-2495:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2542/
-----------------------------------------------------------

(Updated 2011-11-05 03:30:29.153921)


Review request for Hairong Kuang.


Changes
-------

-synced with the trunk
-fixed formatting issues


Summary
-------

For processing blocks in ReplicationMonitor (BlockManager.computeReplicationWork), we first
obtain a list of blocks to be replicated by calling chooseUnderReplicatedBlocks, and then
for each block which was found, we call computeReplicationWorkForBlock. The latter processes
a block in three stages, acquiring the writelock twice per call:

1. obtaining block related info (livenodes, srcnode, etc.) under lock
2. choosing target for replication
3. scheduling replication (under lock)

We would like to change this behaviour and decrease contention for the write lock, by batching
blocks and executing 1,2,3, for sets of blocks, rather than for each one separately. This
would decrease the number of writeLock to 2, from 2*numberofblocks.

Also, the info level logging can be pushed outside the writelock.


This addresses bug HDFS-2495.
    https://issues.apache.org/jira/browse/HDFS-2495


Diffs (updated)
-----

  trunk/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/blockmanagement/BlockManager.java
1197875 
  trunk/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/blockmanagement/TestBlockManager.java
1197875 

Diff: https://reviews.apache.org/r/2542/diff


Testing
-------

Running JUnit.


Thanks,

Tomasz


                
> Increase granularity of write operations in ReplicationMonitor thus reducing contention
for write lock
> ------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-2495
>                 URL: https://issues.apache.org/jira/browse/HDFS-2495
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>          Components: name-node
>            Reporter: Tomasz Nykiel
>            Assignee: Tomasz Nykiel
>         Attachments: replicationMon.patch, replicationMon.patch-1
>
>
> For processing blocks in ReplicationMonitor (BlockManager.computeReplicationWork), we
first obtain a list of blocks to be replicated by calling chooseUnderReplicatedBlocks, and
then for each block which was found, we call computeReplicationWorkForBlock. The latter processes
a block in three stages, acquiring the writelock twice per call:
> 1. obtaining block related info (livenodes, srcnode, etc.) under lock
> 2. choosing target for replication
> 3. scheduling replication (under lock)
> We would like to change this behaviour and decrease contention for the write lock, by
batching blocks and executing 1,2,3, for sets of blocks, rather than for each one separately.
This would decrease the number of writeLock to 2, from 2*numberofblocks.
> Also, the info level logging can be pushed outside the writelock.

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