Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-13146

Consider client use cases for accessing controller endpoints

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    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.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            hachikuji Jason Gustafson

            Dates

              Created:
              Updated:

              Slack

                Issue deployment