Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Kafka, mail # dev - [jira] [Commented] (KAFKA-914) Deadlock between initial rebalance and watcher-triggered rebalances


Copy link to this message
-
[jira] [Commented] (KAFKA-914) Deadlock between initial rebalance and watcher-triggered rebalances
"Neha Narkhede 2013-05-22, 20:00

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

Neha Narkhede commented on KAFKA-914:
-------------------------------------

Thanks for the patch! Good catch, +1
                
> Deadlock between initial rebalance and watcher-triggered rebalances
> -------------------------------------------------------------------
>
>                 Key: KAFKA-914
>                 URL: https://issues.apache.org/jira/browse/KAFKA-914
>             Project: Kafka
>          Issue Type: Bug
>    Affects Versions: 0.8
>            Reporter: Joel Koshy
>             Fix For: 0.8
>
>         Attachments: KAFKA-914-v1.patch
>
>
> Summary doesn't give the full picture and the fetcher-manager/fetcher-thread                                                                                                                                
> code is very complex so it's a bit hard to articulate the following very                                                                                                                                    
> clearly. I will try and describe the sequence that results in a deadlock                                                                                                                                    
> when starting up a large number of consumers at around the same time:                                                                                                                                      
>                                                                                                                                                                                                            
> - When a consumer's createMessageStream method is called, it initiates an                                                                                                                                  
>   initial inline rebalance.                                                                                                                                                                                
> - However, before the above initial rebalance actually begins, a ZK watch                                                                                                                                  
>   may trigger (due to some other consumers starting up) and initiate a                                                                                                                                      
>   rebalance. This happens successfully so fetchers start and start filling                                                                                                                                  
>   up the chunk queues.                                                                                                                                                                                      
> - Another watch triggers and initiates yet another rebalance. This rebalance                                                                                                                                
>   attempt tries to close the fetchers. Before the fetchers are stopped, we                                                                                                                                  
>   shutdown the leader-finder-thread to prevent new fetchers from being                                                                                                                                      
>   started.                                                                                                                                                                                                  
> - The shutdown is accomplished by interrupting the leader-finder-thread and                                                                                                                                

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira