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

Colin Patrick McCabe commented on HDFS-6735:
--------------------------------------------

Changing the locking model for the DFSInputStream seems like a big project.  
Can we have a design doc for this and for HDFS-6698?

I'm also not sure if we document the thread-safety guarantees offered by the 
DFSInputStream anywhere.  Most things seem to be protected by locks, but we 
should discuss what the guarantees are and put them as comments in the code 
explicitly.  We should figure out what the thread-safety guarantees are (and 
which operations block which other operations).  For example, a non-positional 
read probably always has to block another non-positional read, but the 
situation with other ops is less clear.

> A minor optimization to avoid pread() be blocked by read() inside the same 
> DFSInputStream
> -----------------------------------------------------------------------------------------
>
>                 Key: HDFS-6735
>                 URL: https://issues.apache.org/jira/browse/HDFS-6735
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: hdfs-client
>    Affects Versions: 3.0.0
>            Reporter: Liang Xie
>            Assignee: Liang Xie
>         Attachments: HDFS-6735-v2.txt, HDFS-6735.txt
>
>
> In current DFSInputStream impl, there're a couple of coarser-grained locks in 
> read/pread path, and it has became a HBase read latency pain point so far. In 
> HDFS-6698, i made a minor patch against the first encourtered lock, around 
> getFileLength, in deed, after reading code and testing, it shows still other 
> locks we could improve.
> In this jira, i'll make a patch against other locks, and a simple test case 
> to show the issue and the improved result.
> This is important for HBase application, since in current HFile read path, we 
> issue all read()/pread() requests in the same DFSInputStream for one HFile. 
> (Multi streams solution is another story i had a plan to do, but probably 
> will take more time than i expected)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to