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

Zhe Zhang commented on HDFS-10702:
----------------------------------

Thanks [~mackrorysd] for taking over this work! It's exciting to see this 
feature moving forward.

IIUC, if a client issues a read with a "stale bound" which is fresher than the 
SbNN's current latest TxId, the SbNN will tail edit logs from ANN, right?

My concern is that if a significant portion of read requests follow this 
scenario (needs a fresher TxId), that will cause a high writeLock contention on 
SbNN. At lease in our production cluster, over 99% of RPC requests are reads, 
and NN relies on parallelism between the read requests to catch up with 
incoming requests. If say 50% of those requests are sent to SbNN and 50% of 
those request a fresher TxId (considering the edit log tailing frequency, this 
is quite likely), SbNN is taking much higher writeLock contention than current 
ANN.

Maybe we can consider combining this SbNN read logic with the ideas discussed 
under HDFS-8940, to somehow combine the SbNN state with events from 
{{inotify}}? Pinging [~drankye], [~mingma] and [~HuafengWang] for thoughts.

> Add a Client API and Proxy Provider to enable stale read from Standby
> ---------------------------------------------------------------------
>
>                 Key: HDFS-10702
>                 URL: https://issues.apache.org/jira/browse/HDFS-10702
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: Jiayi Zhou
>            Assignee: Jiayi Zhou
>            Priority: Minor
>         Attachments: HDFS-10702.001.patch, HDFS-10702.002.patch, 
> HDFS-10702.003.patch, HDFS-10702.004.patch, HDFS-10702.005.patch, 
> HDFS-10702.006.patch, StaleReadfromStandbyNN.pdf
>
>
> Currently, clients must always talk to the active NameNode when performing 
> any metadata operation, which means active NameNode could be a bottleneck for 
> scalability. One way to solve this problem is to send read-only operations to 
> Standby NameNode. The disadvantage is that it might be a stale read. 
> Here, I'm thinking of adding a Client API to enable/disable stale read from 
> Standby which gives Client the power to set the staleness restriction.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

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