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

Brock Noland edited comment on FLUME-1661 at 10/22/12 7:29 PM:
---------------------------------------------------------------

I think we should do the following:

1) Write the command to file
2) Execute the file with bash (without the -c option as there is a race 
condition with writing to a file and then executing it when you have other 
possible threads forking and as such having that file descriptor open)
3) Test to make sure this works, unit tests using echo `date +%Y%m%d%H` should 
be all that is needed
                
      was (Author: brocknoland):
    I think we should do the following:

1) Write the command to the a shell script
2) Execute the shell script (without the -c option as there is a race condition 
with writing to a file and then executing it when you have other possible 
threads forking and as such having that file descriptor open)
3) Test to make sure this works, unit tests using echo `date +%Y%m%d%H` should 
be all that is needed
                  
> ExecSource cannot execute (little complicated..) *nix commands
> --------------------------------------------------------------
>
>                 Key: FLUME-1661
>                 URL: https://issues.apache.org/jira/browse/FLUME-1661
>             Project: Flume
>          Issue Type: Improvement
>          Components: Sinks+Sources
>    Affects Versions: v1.2.0
>            Reporter: Yoonseok Woo
>         Attachments: FLUME-1661-1.patch
>
>
> * command line parsing
> ** conf/flume.conf
> {code}
> agent.sources.source1.type = exec
> agent.sources.source1.command = tail -f 
> /some/path/logs/exception/error.log.`date +%Y%m%d%H`
> {code}
> ** result
> {code}
> tail: /some/path/logs/exception/error.log.`date: No such file or directory
> tail: +%Y%m%d%H`: No such file or directory
> {code}
> ** needs to be improved
> {code}
> (ExecSouce.java:242) String[] commandArgs = command.split("\\s+") 
> {code}
> * using special character (e.g. *, `, ', ...)
> ** conf/flume.conf
> {code}
> agent.sources.source1.type = exec
> agent.sources.source1.command = tail -f /some/path/logs/exception/error.log.*
> {code}
> ** result
> {code}
> tail: /some/path/logs/exception/error.log.*: No such file or directory
> {code}
> ** needs to be improved
> {code}
> (ExecSouce.java:243) process = new ProcessBuilder(commandArgs).start();
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to