chia7712 commented on pull request #9401:
URL: https://github.com/apache/kafka/pull/9401#issuecomment-728812062


   @hachikuji @ijuma It seems to me the root cause of regression is caused by 
the conversion between old data struct and auto-generated protocol. As we all 
care for performance, I address more improvements (they were viewed as 
follow-up before) in this PR. 
   
   There are 5 possible improvements.
   
   1. - [x]  git rid of struct allocation
   1. - [x]  rewrite RequestUtils.hasTransactionalRecords & 
RequestUtils.hasIdempotentRecords to avoid duplicate loop and record 
instantiation (thanks to @hachikuji)
   1. - [x] Sender#sendProduceRequest should use auto-generated protocol 
directly (thanks to @dajac)
   1. - [ ] Replace ProduceResponse.PartitionResponse by auto-generated 
PartitionProduceResponse (https://issues.apache.org/jira/browse/KAFKA-10709)
   1. - [ ] KafkaApis#handleProduceRequest should use auto-generated protocol 
(https://issues.apache.org/jira/browse/KAFKA-10730)
   
   The recent commits include only 1, 2, and 3 since they touch fewer code. I 
also re-run all perf tests and all tests cases show better throughput with 
current PR even if 4. and 5. are not included.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to