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

ASF GitHub Bot commented on HDFS-16890:
---------------------------------------

simbadzina opened a new pull request, #5298:
URL: https://github.com/apache/hadoop/pull/5298

   HDFS-16890: Ensures router periodically refreshes its record of a 
namespace's state.
   
   ### Description of PR
   When using the ObserverReadProxyProvider, clients can set 
   
   dfs.client.failover.observer.auto-msync-period... to periodically get the 
Active namenode's state. When using routers without the 
ObserverReadProxyProvider, this periodic update is lost.
   
   In a busy cluster, the Router constantly gets updated with the active 
namenode's state when
   
   There is a write operation.
   There is an operation (read/write) from a new clients.
   However, in the scenario when there are no new clients and no write 
operations, the state kept in the router can lag behind the active's. The 
router does update its state with responses from the Observer, but the observer 
may be lagging behind too.
   
   We should have a periodic refresh in the router to serve a similar role as 
dfs.client.failover.observer.auto-msync-period
   
   ### How was this patch tested?
   
   New test case. 
TestObserverWithRouter#testPeriodicStateRefreshUsingActiveNamenode()
   
   ### For code changes:
   
   - [ X] Does the title or this PR starts with the corresponding JIRA issue id 
(e.g. 'HADOOP-17799. Your PR title ...')?
   




> Add period state refresh to keep router state near active namenode's
> --------------------------------------------------------------------
>
>                 Key: HDFS-16890
>                 URL: https://issues.apache.org/jira/browse/HDFS-16890
>             Project: Hadoop HDFS
>          Issue Type: Task
>            Reporter: Simbarashe Dzinamarira
>            Assignee: Simbarashe Dzinamarira
>            Priority: Major
>
> When using the ObserverReadProxyProvider, clients can set 
> *dfs.client.failover.observer.auto-msync-period...* to periodically get the 
> Active namenode's state. When using routers without the 
> ObserverReadProxyProvider, this periodic update is lost.
> In a busy cluster, the Router constantly gets updated with the active 
> namenode's state when
>  # There is a write operation.
>  # There is an operation (read/write) from a new clients.
> However, in the scenario when there are no new clients and no write 
> operations, the state kept in the router can lag behind the active's. The 
> router does update its state with responses from the Observer, but the 
> observer may be lagging behind too.
> We should have a periodic refresh in the router to serve a similar role as 
> *dfs.client.failover.observer.auto-msync-period*



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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