Conditional ingest processors should respect ignore_failure
for errors in if
condition
#126005
Labels
>bug
:Data Management/Ingest Node
Execution or management of Ingest Pipelines including GeoIP
low-risk
An open issue or test failure that is a low risk to future releases
Team:Data Management
Meta label for data/management team
When an error occurs in the
if
statement of an ingest processor, and the processor hasignore_failure=true
, the failure is not ignored, and the on_failure processor is called. This behavior seems incorrect. Example:Given the following pipeline:
And the following simulate ingest:
We get the following output:
This seems incorrect. Though the
if
statement in the first processor should fail because the variabledoes_not_exist
does not exist,ignore_failure
was set to true. So the following set processor should have run, andset_after
field should be set. The failure processor should not have run.The results should instead have been:
Interestingly, if
verbose
is set to true in the simulate call, we get the correct result. I did a bit of debugging, and see that without verbose, the top-level CompoundProcessor hasignore_failure=false
. Whereas, with verbose, the top-level TrackingResultProcessor hasignore_failure=true
. It appears this this is because the tracking result processor unwraps the conditional processor here, bringing theignore_failure
value up to the top-level processor.The text was updated successfully, but these errors were encountered: