kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jay Kreps (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-749) Bug in socket server shutdown logic makes the broker hang on shutdown until it has to be killed
Date Tue, 05 Feb 2013 17:50:11 GMT

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

Jay Kreps commented on KAFKA-749:
---------------------------------

That makes sense, good solution.
                
> Bug in socket server shutdown logic makes the broker hang on shutdown until it has to
be killed
> -----------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-749
>                 URL: https://issues.apache.org/jira/browse/KAFKA-749
>             Project: Kafka
>          Issue Type: Bug
>          Components: network
>    Affects Versions: 0.8
>            Reporter: Neha Narkhede
>            Assignee: Neha Narkhede
>            Priority: Blocker
>              Labels: bugs, p1
>         Attachments: kafka-749-v1.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The current shutdown logic of the server shuts down the io threads first, followed by
acceptor and finally processor threads. The shutdown API of io threads enqueues a special
AllDone command into the common request queue. It shuts down the io thread when it dequeues
this special all done command. What can happen is that while this shutdown command processing
is happening on the io threads, the network/processor threads can still accept new connections
and requests and will add those new requests to the request queue. That means, more requests
can be enqueued after the AllDone command. What happens is that after the io threads have
shutdown, there is no thread available to dequeue from the request queue. So the processor
threads can hang while adding new requests to a full request queue, thereby blocking the server
from shutting down.

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

Mime
View raw message