You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by "Juhani Connolly (Issue Comment Edited) (JIRA)" <ji...@apache.org> on 2012/02/28 02:13:48 UTC

[jira] [Issue Comment Edited] (FLUME-1004) The SEQ source doesn't seem to stop on a reconfig that should disable it

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

Juhani Connolly edited comment on FLUME-1004 at 2/28/12 1:11 AM:
-----------------------------------------------------------------

correct me if I'm wrong, but I don't think reconfiguration shuts down anything that is removed from the conf?

Reconfiguration is currently instantiated by AbstractFileConfiguration's FileWatcherRunnable which just calls doLoad() on the configuration provider if the conf has changed.

doLoad in turn validates the current configuration when it is loaded by FlumeConfiguration, and from there goes on to load channels/sources/sinks(the currently running ones are retrieved by the factory methods). The configure call results in reconfiguring the currently running components. 
At no point are old channels/sources/sinks stopped. 

The current method is pretty neat but we're going to have to add a mechanism somewhere to shutdown disabled components. Perhaps this should be added to onNodeConfigurationChanged?
                
      was (Author: juhanic):
    correct me if I'm wrong, but I don't think reconfiguration shuts down anything that is removed from the conf?

Reconfiguration is currently instantiated by AbstractFileConfiguration's FileWatcherRunnable which just calls doLoad() on the configuration provider if the conf has changed.

doLoad in turn validates the current configuration when it is loaded by FlumeConfiguration, and from there goes on to load channels/sources/sinks(the currently running ones are retrieved by the factory methods). The configure call results in reconfiguring the currently running components. 
At no point are old channels/sources/sinks stopped. 
                  
> The SEQ source doesn't seem to stop on a reconfig that should disable it
> ------------------------------------------------------------------------
>
>                 Key: FLUME-1004
>                 URL: https://issues.apache.org/jira/browse/FLUME-1004
>             Project: Flume
>          Issue Type: Bug
>          Components: Sinks+Sources
>    Affects Versions: v1.1.0
>         Environment: RHEL 6.1 64-bit
>            Reporter: Will McQueen
>             Fix For: v1.1.0
>
>
> Steps:
> 1) Run the flume node with a config file that has the sink disabled:
> a1.sources = r1
> a1.channels = c1
> #a1.sinks = k1
> a1.sources.r1.type = SEQ
> a1.sources.r1.channels = c1
> a1.channels.c1.type = MEMORY
> #a1.sinks.k1.type = logger
> #a1.sinks.k1.channel = c1
> If you add a print statement to ChannelProcessor.processEvent(), you'll see that the source is sending events to the channel.
> 2) Modify the config so that the source is disabled, and a new sink is enabled:
> #a1.sources = r1
> a1.channels = c1
> a1.sinks = k1
> #a1.sources.r1.type = SEQ
> #a1.sources.r1.channels = c1
> a1.channels.c1.type = MEMORY
> a1.sinks.k1.type = logger
> a1.sinks.k1.channel = c1
> //exp:  The sink should only receive events that were in the channel at the time that the source was enabled (effectively draining the source)
> //act:  The sink continuously receives events from the same source that is disabled according to the config, but is enabled according to the continuous output seen.

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