Stephen O'Donnell created HDFS-15150:
----------------------------------------

             Summary: Introduce read write lock to Datanode
                 Key: HDFS-15150
                 URL: https://issues.apache.org/jira/browse/HDFS-15150
             Project: Hadoop HDFS
          Issue Type: Improvement
          Components: datanode
    Affects Versions: 3.3.0
            Reporter: Stephen O'Donnell
            Assignee: Stephen O'Donnell


HDFS-9668 pointed out the issues around the DN lock being a point of contention 
some time ago, but that Jira went in a direction of creating a new FSDataset 
implementation which is very risky, and activity on the Jira has stalled for a 
few years now.

I feel there could be significant gains by moving to a ReentrantReadWrite lock 
within the DN. The current implementation is simply a ReentrantLock so any 
locker blocks all others.

Once place I think a read lock would benefit us significantly, is when the DN 
is serving a lot of small blocks and there are jobs which perform a lot of 
reads. The start of reading any blocks right now takes the lock, but if we 
moved this to a read lock, many reads could do this at the same time.

The first conservative step, would be to change the current lock and then make 
all accesses to it obtain the write lock. That way, we should keep the current 
behaviour and then we can selectively move some lock accesses to the readlock 
in separate Jiras.

I would appreciate any thoughts on this, and also if anyone has attempted it 
before and found any blockers.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-h...@hadoop.apache.org

Reply via email to