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

Kihwal Lee commented on HDFS-15119:
-----------------------------------

Long running clients like HBase sometimes are having latency issues because of 
non-expiring cached locations.  E.g. when a local datanode is updated and 
restarted, Hbase RS might blacklist the local node and start reading from a 
remote node.  Even after the datanode becomes available, it may continue to 
read remotely.  This case was observed in our HBase clusters after a rolling 
upgrade.

 

Ahmed and I had discussed potential solutions and this is what we thought 
reasonable. Some block locations (beyond the initial fetch size of 10 blocks) 
may expire sooner, but the patch is much simpler this way and less error-prone. 
  I have reviewed patches leading up to this point many times and it is 
currently in our production.  This feature is disabled by default.  I will give 
several days for others to voice their concerns, if any.

> Allow expiration of cached locations in DFSInputStream
> ------------------------------------------------------
>
>                 Key: HDFS-15119
>                 URL: https://issues.apache.org/jira/browse/HDFS-15119
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>          Components: dfsclient
>            Reporter: Ahmed Hussein
>            Assignee: Ahmed Hussein
>            Priority: Minor
>         Attachments: HDFS-15119.001.patch, HDFS-15119.002.patch, 
> HDFS-15119.003.patch
>
>
> Staleness and other transient conditions can affect reads for a long time 
> since the block locations may not be re-fetched. It makes sense to make 
> cached locations to expire.
> For example, we may not take advantage of local-reads since the nodes are 
> blacklisted and have not been updated.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to