[
https://issues.apache.org/jira/browse/HDFS-13779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16581729#comment-16581729
]
Chen Liang commented on HDFS-13779:
-----------------------------------
I see, so I guess the incremented {{currentIndex}} only takes effect when
{{invoke}} gets called next time, by which time {{getFilteredProxies}} will
return a different list with those proxies being removed. This is the part I
was missing, thanks for the clarification!
But this led me think about another situation: it seems to me that {{getProxy}}
can be called at any point of time. And {{getProxy}} will trigger
{{getAllProxies}} which further triggers {{refreshProxyState}}. And
{{refreshProxyState}} calls {{refreshState}} of each NN, which may change
{{isObserver}} to either true or false. In short, the value of {{isObserver}}
could change at any point of time due to {{getProxy}}. So when {{invoke}} gets
called each time, there seems no guarantee what will (not) be in the list
returned from {{getFilteredProxies}} with regard to the previous state. Is this
a valid case?
> Implement performFailover logic for ObserverReadProxyProvider.
> --------------------------------------------------------------
>
> Key: HDFS-13779
> URL: https://issues.apache.org/jira/browse/HDFS-13779
> Project: Hadoop HDFS
> Issue Type: Sub-task
> Components: hdfs-client
> Reporter: Konstantin Shvachko
> Assignee: Erik Krogen
> Priority: Major
> Attachments: HDFS-13779-HDFS-12943.WIP00.patch
>
>
> Currently {{ObserverReadProxyProvider}} inherits {{performFailover()}} method
> from {{ConfiguredFailoverProxyProvider}}, which simply increments the index
> and switches over to another NameNode. The logic for ORPP should be smart
> enough to choose another observer, otherwise it can switch to a SBN, where
> reads are disallowed, or to an ANN, which defeats the purpose of reads from
> standby.
> This was discussed in HDFS-12976.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]