[ 
https://issues.apache.org/jira/browse/HDFS-17300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

liuguanghua updated HDFS-17300:
-------------------------------
    Description: 
  

Now when Observer is enable, Observer will update its stateid through that 
EditLogTailer near-real-time tailing editlog form Active Namenode. And if a rpc 
call's stateid is lower than client stateid which may update from active 
namenode with msync, the call will be requeued into callqueue.

This PR is intend to if a rpc call's stateid is always lower than client statid 
for a configured time , the call should throw ObserverRetryOnActiveException 
for client and client will go to active namenode for processing.

  was:
           Now when Observer NN is used,  if the stateid is delayed , the 
rpcServer will be requeued into callqueue. If EditLogTailer is broken or 
something else wrong , the call will be requeued again and again.  

        So Observer should throw ObserverRetryOnActiveException if stateid is 
always delayed with Active Namenode for a configured time.


> [SBN READ]  A rcp call in Observer should throw 
> ObserverRetryOnActiveException if its stateid is always lower than client 
> stateid for a configured time.
> --------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HDFS-17300
>                 URL: https://issues.apache.org/jira/browse/HDFS-17300
>             Project: Hadoop HDFS
>          Issue Type: Improvement
>            Reporter: liuguanghua
>            Priority: Major
>              Labels: pull-request-available
>
>   
> Now when Observer is enable, Observer will update its stateid through that 
> EditLogTailer near-real-time tailing editlog form Active Namenode. And if a 
> rpc call's stateid is lower than client stateid which may update from active 
> namenode with msync, the call will be requeued into callqueue.
> This PR is intend to if a rpc call's stateid is always lower than client 
> statid for a configured time , the call should throw 
> ObserverRetryOnActiveException for client and client will go to active 
> namenode for processing.



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

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

Reply via email to