chia7712 edited a comment 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 (thanks to @hachikuji)
   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. - [ ] [client side] Replace ProduceResponse.PartitionResponse by 
auto-generated PartitionProduceResponse 
(https://issues.apache.org/jira/browse/KAFKA-10709)
   1. - [ ] [server side] 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:
   
   1. currently all tests cases show better throughput with current PR even 
though 4. and 5. are not included.
   1. it seems to me they can get better improvement by remaining tasks (4 and 
5)


----------------------------------------------------------------
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