magnusbaeck / logstash-filter-verifier

Apache License 2.0
191 stars 27 forks source link

Tests won't run without input_plugin field #178

Open matejzero opened 2 years ago

matejzero commented 2 years ago

I wanted to run my standalone tests with daemon mode and it kept failing me with errors in logstash log file:

{"level":"WARN","loggerName":"org.logstash.plugins.pipeline.PipelineBus","timeMillis":1643007232481,"thread":"[lfv_input_1]>worker0","logEvent":{"message":"Attempted to send event to '__lfv_input_YJSxCrys_' but that address was unavailable. Maybe the destination pipeline is down or stopping? Will Retry."}}
{"level":"WARN","loggerName":"org.logstash.plugins.pipeline.PipelineBus","timeMillis":1643007233482,"thread":"[lfv_input_1]>worker0","logEvent":{"message":"Attempted to send event to '__lfv_input_YJSxCrys_' but that address was unavailable. Maybe the destination pipeline is down or stopping? Will Retry."}}
{"level":"WARN","loggerName":"org.logstash.plugins.pipeline.PipelineBus","timeMillis":1643007234486,"thread":"[lfv_input_1]>worker0","logEvent":{"message":"Attempted to send event to '__lfv_input_YJSxCrys_' but that address was unavailable. Maybe the destination pipeline is down or stopping? Will Retry."}}

LFV exit log is also not useful logstash-filter-verifier: error: rpc error: code = Unknown desc = destroy of session failed: session teardown failed: shutdown while waiting for state: ready_for_test, <nil>

After adding input_plugin: stdin to the tests, it started to work. Reading README, I got a feeling this is not a nessessary field when testing only a single input:

input_plugin: The unique ID of the input plugin in the tested configuration, where the test input is coming from. This is necessary, if a setup with multiple inputs is tested, which either have different codecs or are part of different pipelines.

If this field is necessary in all cases, it would probably be good to have some tests run before starting the pipeline to be sure all tests files have this option set, because logstash/lfv error is not helpful in discovering the issue.