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

Tsz-wo Sze updated RATIS-1446:
------------------------------
    Summary: Avoid leader election for invalid conf  (was: should avoid NPE in 
yieldLeaderToHigherPriorityPeer)

> Avoid leader election for invalid conf
> --------------------------------------
>
>                 Key: RATIS-1446
>                 URL: https://issues.apache.org/jira/browse/RATIS-1446
>             Project: Ratis
>          Issue Type: Bug
>          Components: server
>            Reporter: Xu Shao Hong
>            Assignee: Xu Shao Hong
>            Priority: Critical
>         Attachments: 560_reivew.patch, npe-1
>
>          Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
>  
> {code:java}
> 1private void yieldLeaderToHigherPriorityPeer() {
> 2  if (!server.getInfo().isLeader()) {
> 3    return;
> 4  }
> 5  final RaftConfigurationImpl conf = server.getRaftConf();
> 6  int leaderPriority = conf.getPeer(server.getId()).getPriority(); {code}
> During my test in k8s env, I met the corner case where the ozone progress met 
> NPE and was shut down. The log shows it is thrown at line 6. It is possible 
> in some cases configuration may not include the server itself. The case 
> happened when bootstrapping the second SCM. Thus there should have a null 
> check before getPriority.
> -------
> The attachment is the error log caught.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to