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

Randall Hauch updated KAFKA-8058:
---------------------------------
    Fix Version/s: 2.2.1
                   2.1.2
                   2.3.0
                   2.0.2

> ConnectRestExtensionContext does not return list of connectors from its 
> ConnectClusterState
> -------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-8058
>                 URL: https://issues.apache.org/jira/browse/KAFKA-8058
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 2.0.0, 2.0.1, 2.1.0, 2.1.1
>            Reporter: Chris Egerton
>            Assignee: Chris Egerton
>            Priority: Major
>             Fix For: 2.0.2, 2.3.0, 2.1.2, 2.2.1
>
>
> Title is not entirely accurate, but describes the most common way this bug 
> presents itself.
> The 
> [ConnectClusterStateImpl|https://github.com/apache/kafka/blob/ab00c51b6362b41071ae32611ebf698ba9c221ee/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/health/ConnectClusterStateImpl.java]
>  used by Kafka Connect to provide cluster information to REST extensions 
> makes an asynchronous call to 
> [Herder.connectors(...)|https://github.com/apache/kafka/blob/ab00c51b6362b41071ae32611ebf698ba9c221ee/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/Herder.java#L70]
>  in its  
> [connectors()|https://github.com/apache/kafka/blob/ab00c51b6362b41071ae32611ebf698ba9c221ee/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/health/ConnectClusterStateImpl.java#L46]
>  method that populates a list of connector names, then immediately returns 
> that list of connector names. If the list is read soon after it is returned, 
> it's possible it will be empty or at least not completely populated.
> Since the method is implicitly synchronous (no callback logic is involved in 
> its parameters or return values, and there is no documentation indicating 
> asynchronous behavior for the 
> [ConnectClusterState.connectors()|https://github.com/apache/kafka/blob/ab00c51b6362b41071ae32611ebf698ba9c221ee/connect/api/src/main/java/org/apache/kafka/connect/health/ConnectClusterState.java#L28-L34]
>  method), this should be remedied by adding a wait for the 
> Herder.connectors(...) method to complete in the 
> ConnectClusterStateImpl.connectors() method.



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

Reply via email to