Graylog2 / graylog2-server

Free and open log management
https://www.graylog.org
Other
7.37k stars 1.06k forks source link

Pipeline Processing error if 2 streams have same name #3114

Closed fadanner closed 7 years ago

fadanner commented 7 years ago

Created one pipeline processing rule which is connected to stream "abc". The processing works fine, until I add 2 streams with the same name. For example the streams "bcd" and "bcd". Pipeline Processing then crashes and appends an error on all messages to be processed (from stream abc). gl2_processing_error For rule 'from 10.250.x.x': In call to function 'route_to_stream' at 8:4 an exception was thrown: Multiple entries with same key: AD Failed Logons=5835a2844c5768163e4668f9: "AD Failed Logons" and AD Failed Logons=582ed5844c576818ca47358b: "AD Failed Logons". To index multiple values under a key, use Multimaps.index.

In my pipeline rule I used the function "route_tostream("xyz"). "abc", "bcd","bcd" & "xyz" are stream names._

Expected Behavior

Pipeline should work even if two streams have the same name. If this isn't possible the pipeline should at least run, if the duplicated stream isn't used in the pipeline rule.

Current Behavior

Pipeline processing appends gl2_processing_error to all messages on which it runs.

Possible Solution

Steps to Reproduce (for bugs)

  1. Build up 4 streams "abc", "bcd","bcd","xyz"
  2. rule "Test" when true then route_to_stream("xyz"); end
  3. Connect the rule & to the stream "abc"
  4. See that there is an error appended to all messages on "abc"

Your Environment

kroepke commented 7 years ago

Yup, this is a known issue. Please see https://github.com/Graylog2/graylog-plugin-pipeline-processor/issues/101

I'll close this a duplicate, please watch the other issue. Thank you for your report!