[
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