Kowshik Prakasam created KAFKA-13701:
----------------------------------------

             Summary: Pin background worker threads for certain background work 
(ex: UnifiedLog.flush())
                 Key: KAFKA-13701
                 URL: https://issues.apache.org/jira/browse/KAFKA-13701
             Project: Kafka
          Issue Type: Improvement
            Reporter: Kowshik Prakasam


Certain background work such as UnifiedLog.flush() need not support 
concurrency. Today in the existing KafkaScheduler, we are not able to pin 
background work to specific threads. As a result we are unable to prevent 
concurrent UnifiedLog.flush() calls, so we have to ensure UnifiedLog.flush() 
implementation is thread safe by modifying the code at subtle areas (ex: [PR 
#11814|https://github.com/apache/kafka/pull/11814]). The code will be simpler 
if instead KafkaScheduler (or alike) could support pinning of certain 
background work to specific threads, for example the UnifiedLog.flush() 
operation for the same topic-partition will go to the same thread. This will 
ensure strict ordering of flush() calls, thereby enabling us to write simpler 
code eventually.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to