kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-5028) convert kafka controller to a single-threaded event queue model
Date Thu, 27 Apr 2017 15:53:04 GMT

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

ASF GitHub Bot commented on KAFKA-5028:

Github user asfgit closed the pull request at:


> convert kafka controller to a single-threaded event queue model
> ---------------------------------------------------------------
>                 Key: KAFKA-5028
>                 URL: https://issues.apache.org/jira/browse/KAFKA-5028
>             Project: Kafka
>          Issue Type: Sub-task
>            Reporter: Onur Karaman
>            Assignee: Onur Karaman
>             Fix For:
> The goal of this ticket is to improve controller maintainability by simplifying the controller's
concurrency semantics. The controller code has a lot of shared state between several threads
using several concurrency primitives. This makes the code hard to reason about.
> This ticket proposes we convert the controller to a single-threaded event queue model.
We add a new controller thread which processes events held in an event queue. Note that this
does not mean we get rid of all threads used by the controller. We merely delegate all work
that interacts with controller local state to this single thread. With only a single thread
accessing and modifying the controller local state, we no longer need to worry about concurrent
access, which means we can get rid of the various concurrency primitives used throughout the
> Performance is expected to match existing behavior since the bulk of the existing controller
work today already happens sequentially in the ZkClient’s single ZkEventThread.

This message was sent by Atlassian JIRA

View raw message