Weijie Guo created FLINK-30195:
----------------------------------

             Summary: LeaderElectionService should avoid potential deadlock 
with leaderContender
                 Key: FLINK-30195
                 URL: https://issues.apache.org/jira/browse/FLINK-30195
             Project: Flink
          Issue Type: Improvement
          Components: Runtime / Coordination
            Reporter: Weijie Guo


As discussed in 
[https://github.com/apache/flink/pull/21137|https://github.com/apache/flink/pull/21137,]
 , leader election service should not call `contender#grant/revokeLeadership` 
under a lock while the same lock can be accessed by the contender. We can fix 
this issue with a dedicated executor to get rid of the nested lock structure. 
This would affect all contenders and we need to carefully check that no 
existing contenders are relying on the current behavior that 
`grant/removeLeadership{{{}`{}}} are called under lock. We should also clean up 
things like `ResourceManagerServiceImpl.handleLeaderEventExecutor`.



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

Reply via email to