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

ASF GitHub Bot commented on KAFKA-8304:
---------------------------------------

rhauch commented on pull request #6651: KAFKA-8304: Fix registration of Connect 
REST extensions
URL: https://github.com/apache/kafka/pull/6651
 
 
   
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Connect susceptible to deadlock while registering REST extensions
> -----------------------------------------------------------------
>
>                 Key: KAFKA-8304
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8304
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 2.2.0, 2.1.1, 2.0.2, 2.3.0, 2.1.2, 2.2.1
>            Reporter: Chris Egerton
>            Assignee: Chris Egerton
>            Priority: Blocker
>
> As part of KAFKA-7503, the {{ConnectClusterStateImpl}} class was altered to 
> use a {{HerderProvider}} instance instead of a {{Herder}}. However, the 
> Connect {{RestServer}} registers REST extensions before a herder is given to 
> that {{HerderProvider}}, so any extensions that invoke, e.g., 
> {{ConnectClusterState.connector()}} in their {{register(...)}} method end up 
> in a deadlock that eventually causes Connect startup to fail with the error 
> message "Timed out waiting for herder to be initialized."
> If possible, the {{HerderProvider}} used for {{ConnectClusterStateImpl}} 
> instances given to REST extensions should be supplied with a {{Herder}} 
> before those extensions are registered. If that isn't feasible, another 
> option could be to install Connect REST extensions on a separate thread so 
> that they don't block the Connect startup process and eventual call of 
> {{HerderProvider.setHerder(...)}}.



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

Reply via email to