Add validation for copy_to non-existent fields when dynamic=false #132988
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.
Summary
This PR fixes issue #112812 by adding validation to detect when
copy_totargets a non-existent field when dynamic mappings are disabled (dynamic: false).Problem
When using
copy_towith a non-existent target field and dynamic mappings disabled, Elasticsearch would silently fail to copy the field value without any error or warning. This made it difficult to debug mapping issues.Example
Solution
Added validation in
FieldMapper.javato check if the target field exists when dynamic mappings are disabled. The validation provides a clear error message indicating which field is missing and why it cannot be created.Changes
parseCopyFields()method (lines 335-353)Error Message
When validation fails, users now get a clear error message:
Testing
Related Issues
Fixes #112812
Checklist
🤖 Generated with Claude Code
Co-Authored-By: Claude [email protected]