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

Jason Gustafson updated KAFKA-13146:
------------------------------------
    Description: 
In KAFKA-13143, we dropped the Metadata from the controller APIs. We did this 
for two reasons. First, the implementation did not return any topic metadata. 
This was confusing for users who mistakenly tried to use the controller 
endpoint in order to describe or list topics since it would appear that no 
topics existed in the cluster. The second reason is that the implementation 
returned the controller endpoints. So even if we returned the topic metadata, 
clients would be unable to access the topics for reading or writing through the 
controller endpoint.

So for 3.0, we are effectively saying that clients should only access the 
broker endpoints. Long term, is that what we want? When running the controllers 
as separate nodes, it may be useful to initialize the controllers and cluster 
metadata before starting any of the brokers, for example. For this to work, we 
need to put some thought into how the Metadata API should work with 
controllers. For example, we can return a flag or some kind of error code in 
the response to indicate that topic metadata is not available. We have also 
considered whether the internal __cluster_metadata topic should be readable 
through the controller endpoints by consumers.




  was:
In KAFKA-13143, we dropped the Metadata from the controller APIs. We did this 
for two reasons. First, the implementation did not return any topic metadata. 
This was confusing for users who mistakenly tried to use the controller 
endpoint in order to describe or list topics since it would appear that no 
topics existed in the cluster. The second reason is that the implementation 
returned the controller endpoints. So even if we returned the topic metadata, 
clients would be unable to access the topics for reading or writing through the 
controller endpoint.

So for 3.0, we are effectively saying that clients should only access the 
broker endpoints. Long term, is that what we want? When running the controllers 
as separate nodes, it may be useful to initialize the controllers and cluster 
metadata before starting any of the brokers, for example. For this to work, we 
need to put some thought into how the Metadata API should work with 
controllers. For example, we can return a flag or some kind of error code in 
the response to indicate that topic metadata is not available. We have also 
considered whether the internal __cluster_metadata topic should be readable 
through the controller endpoints.





> Consider client use cases for accessing controller endpoints
> ------------------------------------------------------------
>
>                 Key: KAFKA-13146
>                 URL: https://issues.apache.org/jira/browse/KAFKA-13146
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: Jason Gustafson
>            Priority: Major
>              Labels: kip-500
>
> In KAFKA-13143, we dropped the Metadata from the controller APIs. We did this 
> for two reasons. First, the implementation did not return any topic metadata. 
> This was confusing for users who mistakenly tried to use the controller 
> endpoint in order to describe or list topics since it would appear that no 
> topics existed in the cluster. The second reason is that the implementation 
> returned the controller endpoints. So even if we returned the topic metadata, 
> clients would be unable to access the topics for reading or writing through 
> the controller endpoint.
> So for 3.0, we are effectively saying that clients should only access the 
> broker endpoints. Long term, is that what we want? When running the 
> controllers as separate nodes, it may be useful to initialize the controllers 
> and cluster metadata before starting any of the brokers, for example. For 
> this to work, we need to put some thought into how the Metadata API should 
> work with controllers. For example, we can return a flag or some kind of 
> error code in the response to indicate that topic metadata is not available. 
> We have also considered whether the internal __cluster_metadata topic should 
> be readable through the controller endpoints by consumers.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to