flume-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Piotr Wiecek (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLUME-2894) Flume components should stop in the correct order (graceful shutdown)
Date Mon, 21 Mar 2016 10:00:33 GMT
Piotr Wiecek created FLUME-2894:

             Summary: Flume components should stop in the correct order (graceful shutdown)
                 Key: FLUME-2894
                 URL: https://issues.apache.org/jira/browse/FLUME-2894
             Project: Flume
          Issue Type: Improvement
          Components: Channel, Node, Sinks+Sources
    Affects Versions: v1.6.0
            Reporter: Piotr Wiecek

Flume components should be stopped in the right way:
* stop the sources (in order to not receiving further notifications),
* wait until all events within the channels are consumed by the sinks,
* stop the channels and the sinks.

Currently, the shutdown hook stops the components in a random manner.

Components are stored in the HashMap:

Map<LifecycleAware, Supervisoree> supervisedProcesses;
supervisedProcesses = new HashMap<LifecycleAware, Supervisoree>();
  public synchronized void stop() {
  for (final Entry<LifecycleAware, Supervisoree> entry : supervisedProcesses
        .entrySet()) {

      if (entry.getKey().getLifecycleState().equals(LifecycleState.START)) {
        entry.getValue().status.desiredState = LifecycleState.STOP;

The problems which we can have:
* not all Events will be consumed (Sink will be stopped first)
* Source will continue to accept messages even though other components are stopped

This message was sent by Atlassian JIRA

View raw message