You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Tsz-wo Sze (Jira)" <ji...@apache.org> on 2021/12/15 14:24:00 UTC

[jira] [Updated] (RATIS-1446) Avoid leader election for invalid conf

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