Hi, Jeff:
  Thanks for the detail explanation. I can map the logical node using the ":" 
in the name, but I have problem configuring it. I am using it this way:
===
Exec map xxxx collector-sit:ets:txn:ord:test.log
submit multiconfig 'collector-sit:ets:txn:ord:test.log: collectorSource( 16006 
) |  text("/tmp/test.log")'
===

Getting an syntax error when I trying to do multiconfig. I tried quoting the 
node name, but it doesn't seem to work. If they allow us to create an logical 
node with ":" in the name they should provide us a way to configure it as well. 
I will take a look at their grammar in the mean time


Thanks

Vic




-----Original Message-----
From: Jeff Hansen [mailto:[email protected]]
Sent: Thursday, September 15, 2011 8:18 AM
To: [email protected]
Subject: Re: Restricted character in logical node name

Are you by any chance using it in somewhere in a config or multiconfig without 
quoting it?

specifically, if you were to say

config host someSource logicalSink(bac:host:accee.log)

the parser would treat the logical name as a function rather than a string 
literal and colons aren't allowed in function names.

Functions use identifiers:
Identifier
    :   Letter (Letter|JavaIDDigit|'.'|'-'|'_')*
    ;

However, when you're mapping the host to a logical name, config arguments are 
allowed to have colons Argument
    : (Letter|JavaIDDigit|':'|'.'|'-'|'_')+
    ;

So I assume you'd be fine with a line like exec map somehost bac:host:accee.log

Without looking through the code I don't know if there are further constraints, 
but digging through the antlr syntax in FlumeShell.g and FlumeDeploy.g help me 
understand the config grammar a lot better.


On Wed, Sep 14, 2011 at 6:56 PM, Huang, Zijian(Victor) 
<[email protected]> wrote:
> Hi, Guys:
>    Is there a list of characters we can't not use in the logical
> agent/collector's name. I tried "bac:host:accee.log", it seems Flume
> has trouble dealing with ":"
>
> Thanks
>
> Victor Huang
>
>
>

Reply via email to