kafka-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jun Rao (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (KAFKA-335) Implement an embedded controller
Date Tue, 12 Jun 2012 15:37:43 GMT

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

Jun Rao commented on KAFKA-335:

Thanks for patch v2. Some more comments:

21. ControllerChannelManager:
21.1 remove unused imports
21.2 allBrokers in constructor doesn't need to be val since it's only used in initialization
21.3 Do ControllerChannelManager, RequestSendThread need to be nested under KafkaController?
They don't seems to use any instance variable of KafkaController.
21.4 RequestSendThread: There is still a problem with shutdown. If when shutdown() is called,
the thread is waiting on queue.take(), then Stream.continually will break and throw an Interrupted
exception and shutdown is handled properly. However, when shutdown() is called, the thread
may be performing a non-blocking operation. In this case, the thread needs to check if it's
interrupted, which it's not doing. The simplest thing to do, is to change Stream to a while
loop that checks if an isRunning variable is true. Shutdown() will set the isRunning flag
to false and send the interruption.

3. Could you explain a bit more why the controller election logic can't be moved to KafkaController?

> Implement an embedded controller
> --------------------------------
>                 Key: KAFKA-335
>                 URL: https://issues.apache.org/jira/browse/KAFKA-335
>             Project: Kafka
>          Issue Type: Sub-task
>          Components: core
>    Affects Versions: 0.8
>            Reporter: Jun Rao
>            Assignee: Yang Ye
>             Fix For: 0.8
>         Attachments: kafka_controller_v1.patch, kafka_controller_v2.patch
>   Original Estimate: 168h
>  Remaining Estimate: 168h
> This ticket will implement a controller as described in https://cwiki.apache.org/confluence/display/KAFKA/kafka+Detailed+Replication+Design+V3
> This includes creating the controller path, setting up necessary watchers (e.g, Broker
path and TopicPath), and failover the controller.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message