You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Jose Armando Garcia Sancio (JIRA)" <ji...@apache.org> on 2019/05/22 20:00:00 UTC
[jira] [Created] (KAFKA-8409) Seperate controller thread/manager
events from controller events
Jose Armando Garcia Sancio created KAFKA-8409:
-------------------------------------------------
Summary: Seperate controller thread/manager events from controller events
Key: KAFKA-8409
URL: https://issues.apache.org/jira/browse/KAFKA-8409
Project: Kafka
Issue Type: Improvement
Components: controller
Affects Versions: 2.4.0
Reporter: Jose Armando Garcia Sancio
Assignee: Jose Armando Garcia Sancio
The _ControllerEventManager_ and the _KafkaController_ are driven by processing _ControllerEvent_ in the queue. As of right now the _ControllerEventManager_ is responsible for handling _ShutdownEventThread_ while the _KafkaController_ handles all other events. Since we are using a _sealed trait_ the scala compiler is able to check that all cases are handle in match expressions.
To by pass this compiler feature the _KafkaController_ is matching on _ShutdownEventThread_ and ignoring the result. We should instead create two type of events. For example:
{code}
sealed trait ControllerThreadEvent
final case object ShutdownEventThread extends ControllerThreadEvent
final case class ControllerEvent(event: ControllerEvent) extends ControllerThreadEvent
{code}
And remove _ShutdownEventThread_ from the _ControlleveEvent_ _sealed trait_.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)