Migration Upgrade API

The Migration Upgrade API performs the upgrade of internal indices to make them compatible with the next major version.

Request

POST /_xpack/migration/upgrade/<index_name>

Description

Indices must be upgraded one at a time.

Path Parameters

index_name
(string) Identifier for the index.
wait_for_completion
(boolean) Defines whether the upgrade call blocks until the upgrade process is finished. The default value is true. If set to false, the upgrade can be performed asynchronously.

Examples

The following example submits a POST request to the /_xpack/migration/upgrade/<index_name> endpoint:

POST /_xpack/migration/upgrade/.watches

A successful call returns the statistics about the upgrade process:

{
  "took" : 127,
  "timed_out" : false,
  "total" : 4,
  "updated" : 0,
  "created" : 4,
  "deleted" : 0,
  "batches" : 1,
  "version_conflicts" : 0,
  "noops" : 0,
  "retries" : {
    "bulk" : 0,
    "search" : 0
  },
  "throttled_millis" : 0,
  "failures" : [ ]
}

The following example upgrades a large index asynchronously by specifying the wait_for_completion parameter:

POST /_xpack/migration/upgrade/.watches?wait_for_completion=false

This call should return the id of the upgrade process task:

{
  "task" : "PFvgv7T6TGumRyFF3vqTFg:1137"
}

The status of the running or finished upgrade requests can be obtained by using the Task API:

GET _tasks/PFvgv7T6TGumRyFF3vqTFg:1137?detailed=true
{
  "completed" : true, 
  "task" : {
    "node" : "PFvgv7T6TGumRyFF3vqTFg",
    "id" : 1137,
    "type" : "transport",
    "action" : "cluster:admin/xpack/upgrade",
    "description" : "",
    "start_time_in_millis" : 1500650625413,
    "running_time_in_nanos" : 947456819,
    "cancellable" : true
  },
  "response" : { 
    "took" : 212,
    "timed_out" : false,
    "total" : 4,
    "updated" : 0,
    "created" : 4,
    "deleted" : 0,
    "batches" : 1,
    "version_conflicts" : 0,
    "noops" : 0,
    "retries" : {
      "bulk" : 0,
      "search" : 0
    },
    "throttled_millis" : 0,
    "failures" : [ ]
  }
}

If the completed field value is true, the upgrade request has finished. If it is false, the request is still running.

The response field contains the status of the upgrade request.