[ 
https://issues.apache.org/jira/browse/KAFKA-13135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17387028#comment-17387028
 ] 

David Mao edited comment on KAFKA-13135 at 7/26/21, 4:18 AM:
-------------------------------------------------------------

Taking a closer look, I think we can also optimize this for the happy path.

appendForGroup passes in the groupLock which gets locked during the entire 
putCacheCallback when completing the DelayedProduce from appending offset 
messages.

We already lock the groupLock inside of the callback when reading group state. 
-If we can maintain correctness without passing the groupLock to 
DelayedProduce, we can skip locking the group when sending back the offset 
response. I need to take a look at storeGroup to see if the groupLock is 
necessary there.-

 

https://issues.apache.org/jira/browse/KAFKA-6042 looks relevant before changing 
any of the locking semantics here. It looks like the DelayedProduce lock was 
originally added to avoid deadlock. 


was (Author: david.mao):
Taking a closer look, I think we can also optimize this for the happy path.

appendForGroup passes in the groupLock which gets locked during the entire 
putCacheCallback when completing the DelayedProduce from appending offset 
messages.

We already lock the groupLock inside of the callback when reading group state. 
If we can maintain correctness without passing the groupLock to DelayedProduce, 
we can skip locking the group when sending back the offset response. I need to 
take a look at storeGroup to see if the groupLock is necessary there.

 

https://issues.apache.org/jira/browse/KAFKA-6042 may be relevant before 
changing any of the locking semantics here.

> Reduce GroupMetadata lock contention for offset commit requests
> ---------------------------------------------------------------
>
>                 Key: KAFKA-13135
>                 URL: https://issues.apache.org/jira/browse/KAFKA-13135
>             Project: Kafka
>          Issue Type: Improvement
>            Reporter: David Mao
>            Priority: Major
>
> as suggested by [~lbradstreet], we can look for similar optimizations to 
> https://issues.apache.org/jira/browse/KAFKA-13134 in the offset commit path.
> It looks like there are some straightforward optimizations possible for the 
> error path.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to