Skip to content

Conversation

joegallo
Copy link
Contributor

@joegallo joegallo commented Sep 5, 2025

ignore_empty_value generally means what it says, but for the set processor we only apply the logic of ignore_empty_value to the results from Mustache templating, or the results of a copy_from. So there's an edge case in that if you have a literal empty String ("") as your value and also ignore_empty_value set to true, then we don't actually run the ignore_empty_value logic and we happily set the empty String.

There's a different PR out there that's touching some of the logic around ignore_empty_value, and I want to get this test in first before that PR comes through.

Note: I'm not necessarily making the case that this behavior is especially amazing, I'm just recording what the behavior is. Separately, I also think this is an edge case that has been run into by nobody ever, and I'm not worried about it.

@joegallo joegallo requested a review from masseyke September 5, 2025 13:18
@joegallo joegallo added >test Issues or PRs that are addressing/adding tests :Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP Team:Data Management Meta label for data/management team v9.2.0 labels Sep 5, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-data-management (Team:Data Management)

@joegallo joegallo merged commit 4e61088 into elastic:main Sep 5, 2025
33 checks passed
@joegallo joegallo deleted the set-processor-edge-case-test branch September 5, 2025 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Data Management/Ingest Node Execution or management of Ingest Pipelines including GeoIP Team:Data Management Meta label for data/management team >test Issues or PRs that are addressing/adding tests v9.2.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants