1111
1212import org .elasticsearch .features .FeatureSpecification ;
1313import org .elasticsearch .features .NodeFeature ;
14+ import org .elasticsearch .index .IndexSettings ;
1415
1516import java .util .Set ;
1617
@@ -37,6 +38,28 @@ public class MapperFeatures implements FeatureSpecification {
3738
3839 @ Override
3940 public Set <NodeFeature > getTestFeatures () {
41+ if (IndexSettings .RECOVERY_USE_SYNTHETIC_SOURCE .isEnabled () == false ) {
42+ // NOTE: release build node features
43+ return Set .of (
44+ RangeFieldMapper .DATE_RANGE_INDEXING_FIX ,
45+ IgnoredSourceFieldMapper .DONT_EXPAND_DOTS_IN_IGNORED_SOURCE ,
46+ SourceFieldMapper .REMOVE_SYNTHETIC_SOURCE_ONLY_VALIDATION ,
47+ SourceFieldMapper .SOURCE_MODE_FROM_INDEX_SETTING ,
48+ IgnoredSourceFieldMapper .IGNORED_SOURCE_AS_TOP_LEVEL_METADATA_ARRAY_FIELD ,
49+ IgnoredSourceFieldMapper .ALWAYS_STORE_OBJECT_ARRAYS_IN_NESTED_OBJECTS ,
50+ MapperService .LOGSDB_DEFAULT_IGNORE_DYNAMIC_BEYOND_LIMIT ,
51+ DocumentParser .FIX_PARSING_SUBOBJECTS_FALSE_DYNAMIC_FALSE ,
52+ CONSTANT_KEYWORD_SYNTHETIC_SOURCE_WRITE_FIX ,
53+ META_FETCH_FIELDS_ERROR_CODE_CHANGED ,
54+ SPARSE_VECTOR_STORE_SUPPORT ,
55+ COUNTED_KEYWORD_SYNTHETIC_SOURCE_NATIVE_SUPPORT ,
56+ SORT_FIELDS_CHECK_FOR_NESTED_OBJECT_FIX ,
57+ DYNAMIC_HANDLING_IN_COPY_TO ,
58+ SourceFieldMapper .SYNTHETIC_RECOVERY_SOURCE ,
59+ ObjectMapper .SUBOBJECTS_FALSE_MAPPING_UPDATE_FIX
60+ );
61+ }
62+ // NOTE: snapshot build node features
4063 return Set .of (
4164 RangeFieldMapper .DATE_RANGE_INDEXING_FIX ,
4265 IgnoredSourceFieldMapper .DONT_EXPAND_DOTS_IN_IGNORED_SOURCE ,
@@ -54,7 +77,7 @@ public Set<NodeFeature> getTestFeatures() {
5477 DYNAMIC_HANDLING_IN_COPY_TO ,
5578 SourceFieldMapper .SYNTHETIC_RECOVERY_SOURCE ,
5679 ObjectMapper .SUBOBJECTS_FALSE_MAPPING_UPDATE_FIX ,
57- SYNTHETIC_SOURCE_RECOVERY
80+ USE_SYNTHETIC_SOURCE_FOR_RECOVERY_BY_DEFAULT
5881 );
5982 }
6083}
0 commit comments