You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Tom Bentley (Jira)" <ji...@apache.org> on 2021/01/07 10:03:00 UTC

[jira] [Created] (KAFKA-12156) Document consequences of single threaded response handling

Tom Bentley created KAFKA-12156:
-----------------------------------

             Summary: Document consequences of single threaded response handling
                 Key: KAFKA-12156
                 URL: https://issues.apache.org/jira/browse/KAFKA-12156
             Project: Kafka
          Issue Type: Improvement
          Components: admin
            Reporter: Tom Bentley
            Assignee: Tom Bentley


If users block the response handling thread in one call waiting for the result of a second "nested" call then the client effectively hangs because the 2nd call's response will never be processed. For example:


        admin.listTopics().names().thenApply(topics -> {
            // ... Some code to decide the topicsToCreate based on the topics
            admin.createTopics(topicsToCreate).all().get()
            return null;
        }).get();


The {{createTopics()...get()}} block's indefinitely preventing the {{ListTopics}} response processing from dealing with the {{CreateTopics}} response.

This can be surprising to users of the Admin API, so we should at least document that this pattern should not be used. 



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