-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
elastic-package uses error.message as an indicator of pipeline failure #1392
Comments
Yes, I think it would make sense to stop relying on this, and fail only if
Would it make sense to automatically add an |
FTR, teams have been manually adding this |
We have a fleet final pipeline that could easily be updated to do this for all Fleet-managed pipelines: https://github.com/elastic/kibana/blob/12a10d98559fb6fee98d81c7bbb22cf654187bde/x-pack/plugins/fleet/server/constants/fleet_es_assets.ts#L18 |
There are several PR's still pending approval/merge, but they should all be done once those are merged. The only thing we may want to consider changing is that they were all initially done with a |
If this is being done at Fleet level, we will not need the change done in pipelines . Eg: here |
Is there any timeline on this? I just ran into it (again) while working on a fix for the |
We don't have a timeline on this, but it seems like a reasonable improvement to take on. I'm putting this in an upcoming sprint for the 8.17 cycle tentatively. |
Maybe we can disable the check based on |
As a workaround I use a specific tag in the test log config and only add the error message if this tag does not exist. IMO the best solution would still be to ignore the presence of Side note: As of today, not all pipelines populate the event.kind field in case of errors (e.g. aws.cloudfront_logs). In case where adding this field is automatically added, please make sure that it is only added to the "global" pipeline on_failure object. I.e. on_failure handlers of processors itself must not lead to pipeline_errors. Use-case. Catching a processor error, do some stuff and proceed without error must still be supported. |
The elastic-package test failure criteria include a check for a non-present
error.message
field to indicate that there has not been a pipeline failure during pipeline processing. This use is at odds with the documented semantics of the field.For
error
in generaland for the specific field
Together there indicate that the field should be available for use by data sources to include source-specific error states for events.
This is currently not possible because a data stream that uses
error.message
to hold a data stream-specific error state would be identified as an ingest/processing failure by elastic-package.The
event.kind
field does support marking pipeline failures with the "pipeline_error" value. So it is possible to distinguish pipeline failures from other uses oferror.message
, but this is currently brittle as the pipeline failure event kind is not automatic while settingerror.message
is.In order for
error.message
to be fully open to use in its documented semantics, elastic-package would need to not rely on its state to determine whether pipeline failure has occurred, and ifevent.kind
is used to signal pipeline failure, that pipelines all set that field correctly in the case of a pipeline failure.The text was updated successfully, but these errors were encountered: