[processor/tailsampling] Add feature gate to change default error_mode to ignore#48435
Draft
singhvishalkr wants to merge 1 commit into
Draft
Conversation
…e to ignore Add processor.tailsamplingprocessor.defaultErrorModeIgnore feature gate that when enabled changes the default error_mode for OTTL condition policies from propagate to ignore. This improves resiliency by preserving valid data when OTTL errors occur. Fixes open-telemetry#48420
Contributor
|
Welcome, contributor! Thank you for your contribution to opentelemetry-collector-contrib. Important reminders:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I noticed the
tailsamplingprocessor'sottl_conditionpolicy type defaults toerror_mode: propagate, which drops the entire payload when any OTTL condition encounters an error. This can be unexpected - a single malformed record causes data loss.This PR adds a feature gate
processor.tailsamplingprocessor.defaultErrorModeIgnorethat, when enabled, changes the default toignore. With this setting, records that fail OTTL evaluation are skipped but other valid records are preserved. I modeled this on the same feature gates I just added for the routing and signaltometrics connectors (#48418, #48419).The feature gate starts at alpha stage. Users can opt-in via
--feature-gates=processor.tailsamplingprocessor.defaultErrorModeIgnore. Once stability is proven, the gate can progress to beta/stable to makeignorethe permanent default.Changes:
metadata.yamlprocessor.goto use the feature-gated default whenerror_modeis not explicitly setOTTLConditionCfg.ErrorModeexplaining the feature gateFixes #48420