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

ASF GitHub Bot commented on FLINK-9573:
---------------------------------------

Github user zhangminglei commented on a diff in the pull request:

    https://github.com/apache/flink/pull/6154#discussion_r194938580
  
    --- Diff: 
flink-runtime/src/main/java/org/apache/flink/runtime/highavailability/nonha/embedded/EmbeddedLeaderService.java
 ---
    @@ -356,8 +357,8 @@ public void confirmLeaderSessionID(UUID 
leaderSessionID) {
                }
     
                @Override
    -           public boolean hasLeadership() {
    -                   return isLeader;
    +           public boolean hasLeadership(@Nonnull UUID leaderSessionId) {
    +                   return isLeader && 
leaderSessionId.equals(currentLeaderSessionId);
                }
    --- End diff --
    
    I would ask, in what situation, the ```leaderSessionId``` does not equal to 
```currentLeaderSessionId``` . When another task update the value ?


> Check for leadership with leader session id
> -------------------------------------------
>
>                 Key: FLINK-9573
>                 URL: https://issues.apache.org/jira/browse/FLINK-9573
>             Project: Flink
>          Issue Type: Improvement
>          Components: Distributed Coordination
>    Affects Versions: 1.5.0, 1.6.0
>            Reporter: Till Rohrmann
>            Assignee: Till Rohrmann
>            Priority: Major
>
> In order to check whether a {{LeaderContender}} is still the leader, it is 
> not sufficient to simply provide a {{LeaderElectionService#hasLeadership()}}. 
> Instead, we should extend this method to also take the leader session id as a 
> parameter to distinguish between different calls from the same leader 
> contender with different leader session ids.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to