Using the following config + the latest code as of 9/19/14, this error is thrown when the output receives an event:
(eval):22:in `block in initialize': undefined method `flat_map' for nil:NilClass (NoMethodError)
from /media/truecrypt1/git/danielredoak/logstash/lib/logstash/pipeline.rb:272:in `call'
from /media/truecrypt1/git/danielredoak/logstash/lib/logstash/pipeline.rb:272:in `output'
from /media/truecrypt1/git/danielredoak/logstash/lib/logstash/pipeline.rb:231:in `outputworker'
from /media/truecrypt1/git/danielredoak/logstash/lib/logstash/pipeline.rb:160:in `block in start_outputs'
Config Ex:
Related file, code starts at 328:
https://github.com/elasticsearch/logstash/blob/4211522de1cf996891c6b93f93ba1ab4e408d587/lib/logstash/config/config_ast.rb#L328
Looks like its related to the events local var not being set initially for the output_func in the compiled config.
Related code starts at line 73: https://github.com/elasticsearch/logstash/blob/master/lib/logstash/config/config_ast.rb#L73
Perhaps the fix is to change this line to include "output" as well (or remove the conditional around it) but I don't have the experience with this code to really know for sure at this point. https://github.com/elasticsearch/logstash/blob/master/lib/logstash/config/config_ast.rb#L77-L79
to
Confirmed. Thanks for the report! See https://github.com/elasticsearch/logstash/pull/1768
Will be merged in master shortly!
merged in master!