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

Kirk True updated KAFKA-19295:
------------------------------
    Description: The {{AsyncKafkaConsumer}} uses an event queue-based mechanism 
to communicate between the application thread and the background network 
thread. Unique IDs were added to the events, mostly as a way to disambiguate 
different events in logs. However, in situations where many events are being 
created in a tight loop (e.g. polling in the consumer a few records at a time), 
there is an inordinate amount of CPU time spent creating the random UUIDs used 
as event IDs. Since there is no functional benefit to having IDs for events, 
and little likelihood of individual events being included in logs, ID 
generation should be removed.  (was: The {{AsyncKafkaConsumer}} uses an event 
queue-based mechanism to communicate between the application thread and the 
background network thread. Unique IDs were added to the events, mostly as a way 
to disambiguate different events in logs. However, in situations where many 
events are being created in a tight loop (e.g. polling in the consumer a few 
records at a time), there is an inordinate amount of CPU time spent achieving 
the randomness for the event IDs. Since there is no functional benefit to 
having IDs for events, and little likelihood of individual events being 
included in logs, ID generation should be removed.)

> Remove AsyncKafkaConsumer event ID generation
> ---------------------------------------------
>
>                 Key: KAFKA-19295
>                 URL: https://issues.apache.org/jira/browse/KAFKA-19295
>             Project: Kafka
>          Issue Type: Improvement
>          Components: clients, consumer
>            Reporter: Kirk True
>            Assignee: Kirk True
>            Priority: Major
>              Labels: consumer-threading-refactor, performance
>             Fix For: 4.1.0
>
>
> The {{AsyncKafkaConsumer}} uses an event queue-based mechanism to communicate 
> between the application thread and the background network thread. Unique IDs 
> were added to the events, mostly as a way to disambiguate different events in 
> logs. However, in situations where many events are being created in a tight 
> loop (e.g. polling in the consumer a few records at a time), there is an 
> inordinate amount of CPU time spent creating the random UUIDs used as event 
> IDs. Since there is no functional benefit to having IDs for events, and 
> little likelihood of individual events being included in logs, ID generation 
> should be removed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to