-
Notifications
You must be signed in to change notification settings - Fork 115
Closed
Labels
Description
For more than a year, we've been working to reduce the number of validation errors in https://github.com/elastic/elasticsearch-specification/blob/main/output/schema/validation-errors.json to zero. We used to have hundreds of them, but as of writing this we have 40 left. Actually getting to zero will allow us to fail CI whenever a new one is introduced. This issue is about tracking the work left here.
Compiler
-
Property XXX is a single-variant and must be required (6 errors) - Allow containers with a single variant #4853
- QueryVectorBuilder - only one implementation
- RankContainer - RankBuilder is an abstract class with two implementations, the deprecated RRFRankBuilder that we expose in the spec, and TextSimilarityRankBuilder that is meant to be used with retrievers instead.
- RetentionPolicyContainer - two implementations, but NullRetentionPolicyConfig is set by using
null- https://github.com/search?q=repo%3Aelastic%2Fclients-flight-recordings%20retention_policy&type=code does not appear to be a container, where is this time field coming from? - SyncContainer: SyncConfig only has one real implementation
- TriggerContainer Trigger has two implementations,
scheduleandmanual. Onlyscheduleis exposed. This is used in WatcherPutWatchRequest, QueryWatchResponse, ExecuteWatchRequest and GetWatchResponse. In other world, it's only "user input", and it makes no sense to input a manual schedule. - TriggerEventContainer. In Elasticsearch, TriggerEvent is an asbtract base class (not an interface) with two implementations. However, this is only used in ExecuteWatchResponse, as seen below. In recordings, I have only seen
manual, like this.{ "_id": "my_watch_2e5cacf8-73cb-452a-ad9b-99e0e33531a9-2025-07-08T09:05:56.260576834Z", "watch_record": { "@timestamp": "2025-07-08T09:05:56.259912876Z", "state": "executed", ... "trigger_event": { "manual": { "schedule": { "scheduled_time": "2025-07-08T09:05:56.259Z" } }, "triggered_time": "2025-07-08T09:05:56.259Z", "type": "manual" }, "user": "elastic", "watch_id": "my_watch" } }
Differences from rest-api-spec
- Add flat_settings and settings_filter to cluster.get_component_template elasticsearch#130684
- Fix cluster.put_component_template rest-api-spec elasticsearch#130634 + Add missing cause to cluster.put_component_template #4795
- Add missing query parameters to create rest-api-spec elasticsearch#130717
- Add missing query parameters to eql.search rest-api-spec elasticsearch#130719
- Remove unsupported stored_fields from get_source API #4786
- Add require_data_stream query parameter to index #4803
- Remove master_timeout from ingest.get_ip_location_database #4804
- Fix type query paramter in license.post_start_trial #4807
- Fix msearch rest-api-spec elasticsearch#130627
- Add max_concurrent_shard_requests to open_point_in_time rest-api-spec elasticsearch#130726
- Add max_docs query parameter to reindex API #4842 + Add require_alias to reindex rest-api-spec elasticsearch#130813
- Add track_total_hits to search_mvt #4850 + Add missing grid_agg to search_mvt rest-api-spec elasticsearch#130906
- Remove 'index' from snapshot clear_cache query params elasticsearch#131067
- Remove query parameters from security.get_user_privileges #4869
- Add refresh to security.grant_api_key #4872
- Add wait_for_completion to snapshot.delete #4875
- Add register_operation_count to snapshot.repository_analyze rest-api-spec elasticsearch#131082
Other
- xpack.info human parameter