Migration Upgrade API

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

Indices need to be upgraded one at a time by submitting 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" : [ ]
}

By default, the upgrade call blocks until the upgrade process is finished. For large indices the upgrade can be performed asynchronously by specifying wait_for_completion=false 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 using 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" : [ ]
  }
}

true in the completed field indicates that the upgrade request has finished, false means that request is still executing

the response field contains the status of the upgrade request