[ https://issues.apache.org/jira/browse/HDFS-6735?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HDFS-6735: -------------------------------- Attachment: HDFS-6735-v8.txt One more update. I noticed that the lock in ShortCircuitCache is taking more time than warranted. I noticed we have all these Precondition checks, where we prebuild the string that is only used in the exceptional case. Much better to use static strings with parameters so that the message string is constant and the final string is only built in the exception case. That noticeably decreases the time spend in the ShortCircuitCache.lock. Could do that in the separate jira, but it seemed easy enough. Please let me know what you think. Thanks. > 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: Lars Hofhansl > Attachments: HDFS-6735-v2.txt, HDFS-6735-v3.txt, HDFS-6735-v4.txt, > HDFS-6735-v5.txt, HDFS-6735-v6.txt, HDFS-6735-v7.txt, HDFS-6735-v8.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.3.4#6332)