You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flume.apache.org by "Arvind Prabhakar (Commented) (JIRA)" <ji...@apache.org> on 2012/02/27 18:34:49 UTC

[jira] [Commented] (FLUME-1000) Properties validator misses an invalid config

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

Arvind Prabhakar commented on FLUME-1000:
-----------------------------------------

@Will - this is not an invalid config. It is perfectly fine for an agent to not have a sink configured. Similarly it is perfectly fine to have a channel and sink without a source for an Agent in order to drain the channel.
                
> Properties validator misses an invalid config
> ---------------------------------------------
>
>                 Key: FLUME-1000
>                 URL: https://issues.apache.org/jira/browse/FLUME-1000
>             Project: Flume
>          Issue Type: Bug
>    Affects Versions: v1.1.0
>         Environment: RHEL 6.2 64-bit
>            Reporter: Will McQueen
>             Fix For: v1.1.0
>
>
> The following config is invalid, but is not caught by the properties validator (no sinks are specified). 
> 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 I run with this config, then the source and channel instance is created. If you add a print statement to ChannelProcessor.processEvent(), you'll see that the source is sending events to the channel. The source generates about 104 events, and then generates an additional one about every second... which is interesting, since the mem channel's default capacity is only 100 and there's no sink. When I do a runtime configuration by changing the the props file to this:
> #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
> ...then sink instance is created but the SEQ source is not stopped -- it continuously sends events at a rapid pace.
> I mention this because observing the behavior of even invalid configs might give clues as to problems that might occur with valid configs (such as a source not being stopped upon dynamic reconfig).

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