Chia-Ping Tsai created KAFKA-20854:
--------------------------------------
Summary: A more obvious busy loop due to KIP-909
Key: KAFKA-20854
URL: https://issues.apache.org/jira/browse/KAFKA-20854
Project: Kafka
Issue Type: Bug
Reporter: Chia-Ping Tsai
Assignee: Chia-Ping Tsai
AsyncKafkaConsumer wakes up the background thread to process the poll request:
{code:java}
if (inflightPoll == null) {
inflightPoll = new AsyncPollEvent(calculateDeadlineMs(timer),
time.milliseconds());
newlySubmittedEvent = true;
log.trace("Inflight event {} submitted", inflightPoll);
applicationEventHandler.add(inflightPoll);
}
{code}
And `FetchRequestManager` wakes up the main thread if there are no requests to
send:
{code:java}
if (fetchRequests.isEmpty()) {
// If there's nothing to fetch, wake up the FetchBuffer so it
doesn't needlessly wait for a wakeup
// that won't come until the data in the fetch buffer is
consumed.
fetchBuffer.wakeup();
pendingFetchRequestFuture.complete(null);
return PollResult.EMPTY;
}
{code}
This is an existing issue, and it has become more obvious after KIP-919, since
we moved DNS resolution into the poll phase. This means no requests can be sent
until DNS resolution completes..
--
This message was sent by Atlassian Jira
(v8.20.10#820010)