Upgrading elasticsearch 7 to 8
Breaking7.17.11 → 8.19.3Breaking18Deprecated1New172Changed41Fixed1Other7
Fetching 38 releases from GitHub…17 / 38
BreakingUpgrade verdict
18 breaking changes.
In plain terms
- The timeout option is gone from this call, and a new cause option lets you state why the template is created.
- The method for streaming completion inference has a new name, so existing calls must be updated.
- Calls passing these timeout options to the lifecycle management APIs will no longer accept them.
- Calls to the rollover API can no longer pass the target_failure_store option.
Must act Top 4 of 19 that need code or config changes
Ruby requirement changed in 8.0.0.pre1: >= 2.4 → >= 2.5.
What you must change
Breaking18
Removes timeout parameter from cluster.put_component_template and adds cause parameter.
cluster.put_component_templatetimeoutcauseRenames inference.stream_inference to inference.stream_completion for streaming completion inference.
inference.stream_inferenceinference.stream_completionRemoves :master_timeout and :timeout parameters from several index_lifecycle_management APIs.
index_lifecycle_management.delete_lifecycleindex_lifecycle_management.explain_lifecycleindex_lifecycle_management.get_lifecycleindex_lifecycle_management.put_lifecycleindex_lifecycle_management.startindex_lifecycle_management.stopmaster_timeouttimeoutRemoves target_failure_store parameter from indices.rollover.
indices.rollovertarget_failure_storeRemoves :master_timeout and :timeout parameters from ingest geoip and ip location database APIs.
ingest.delete_geoip_databaseingest.delete_ip_location_databaseput_geoip_databaseput_ip_location_databasemaster_timeouttimeoutlicense.post_start_trial removes the timeout parameter.
license.post_start_trialtimeoutasync_search.submit removes the keep_alive parameter and adds ccs_minimize_roundtrips and rest_total_hits_as_int.
async_search.submitkeep_aliveccs_minimize_roundtripsrest_total_hits_as_intcluster.stats removes the flat_settings parameter and adds an include_remotes boolean parameter.cluster.statsflat_settingsinclude_remotesRenames
inference.delete_model, inference.get_model and inference.put_model to inference.delete, inference.get and inference.put.inference.delete_modelinference.deleteinference.get_modelinference.getinference.put_modelinference.putdry_runforceConsolidates
query_ruleset and query_rules APIs into the query_rules namespace with renamed and new methods.query_rules.delete_rulesetquery_rules.delete_rulequery_rules.get_rulequery_rules.get_rulesetquery_rules.list_rulesetsquery_rules.put_rulequery_rules.put_rulesetquery_rulesetRenames
:model_id parameter to :inference_id in inference.delete_model, inference.get_model, inference.inference and inference.put_model.inference.delete_modelinference.get_modelinference.inferenceinference.put_modelmodel_idinference_idml.infer_trained_model_path now uses /_ml/trained_models/{model_id}/_infer instead of the deprecated deployment path, changing the response shape.
ml.infer_trained_model_pathMakes the
:body parameter required in several APIs.bodyclose_point_in_timefleet.searchgraph.exploreindex_lifecycle_management.move_to_stepindex_lifecycle_management.put_lifecycleindices.analyzeindices.shrinkAdds :timeout to indices.resolve_cluster and makes :name optional.
indices.resolve_clustertimeoutnameMakes
body optional instead of required for cluster.allocation_explain.cluster.allocation_explainbodyMigrates all Connector APIs to the common
connector namespace, renaming connector_secret and connector_sync_job methods.connector_secret.deleteconnector.secret_deleteconnector_secret.getconnector.secret_getconnector_sync_job.cancelconnector.sync_job_cancelconnector_sync_job.postconnector.sync_job_postMakes the
inference_id parameter optional for inference.get_model.inference.get_modelinference_idMakes
body and connector_id optional instead of required for the experimental connector.put API.connector.putbodyconnector_idDeprecations to plan for
Deprecated1
Deprecates
termvector in favor of the plural termvectors.termvectortermvectorsAPI changes
Generated by DepDelta from published Ruby source. Not mixed with prose notes.
- removed:
const Elasticsearch.NOT_SUPPORTED_ELASTICSEARCH_WARNING - removed:
const Elasticsearch.YOU_KNOW_FOR_SEARCH - added:
const Elasticsearch.VALIDATION_WARNING
- removed:
property Client.transport: accessor - added:
const Client.DEFAULT_CLOUD_PORT - added:
module Helpers
- added:
class BulkHelper - added:
class ScrollHelper - added:
constructor BulkHelper(_, _, _ = …) - added:
constructor ScrollHelper(_, _, _, _ = …) - added:
method BulkHelper.delete(_, _ = …, _ = …) - added:
method BulkHelper.ingest(_, _ = …, _ = …) - added:
method BulkHelper.ingest_json(_, _ = …) - added:
method BulkHelper.update(_, _ = …, _ = …) - added:
method ScrollHelper.clear() - added:
method ScrollHelper.each() - added:
method ScrollHelper.results() - added:
module ESQLHelper - added:
property BulkHelper.index: accessor - added:
static method ESQLHelper.query(_, _, _ = …, parser: …)