mirror of
https://github.com/honeymoose/OpenSearch.git
synced 2025-02-05 20:48:22 +00:00
fcdcce3bba
This commit consolidates several abstractions on the shard level in ordinary classes not managed by the shard level guice injector. Several classes have been collapsed into IndexShard and IndexShardGatewayService was cleaned up to be more lightweight and self-contained. It has also been moved into the index.shard package and it's operation is renamed from recovery from "gateway" to recovery from "store" or "shard_store". Closes #11847
214 lines
6.8 KiB
Plaintext
214 lines
6.8 KiB
Plaintext
[[indices-recovery]]
|
|
== Indices Recovery
|
|
|
|
The indices recovery API provides insight into on-going index shard recoveries.
|
|
Recovery status may be reported for specific indices, or cluster-wide.
|
|
|
|
For example, the following command would show recovery information for the indices "index1" and "index2".
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XGET http://localhost:9200/index1,index2/_recovery
|
|
--------------------------------------------------
|
|
|
|
To see cluster-wide recovery status simply leave out the index names.
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XGET http://localhost:9200/_recovery?pretty&human
|
|
--------------------------------------------------
|
|
|
|
Response:
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"index1" : {
|
|
"shards" : [ {
|
|
"id" : 0,
|
|
"type" : "SNAPSHOT",
|
|
"stage" : "INDEX",
|
|
"primary" : true,
|
|
"start_time" : "2014-02-24T12:15:59.716",
|
|
"start_time_in_millis": 1393244159716,
|
|
"total_time" : "2.9m"
|
|
"total_time_in_millis" : 175576,
|
|
"source" : {
|
|
"repository" : "my_repository",
|
|
"snapshot" : "my_snapshot",
|
|
"index" : "index1"
|
|
},
|
|
"target" : {
|
|
"id" : "ryqJ5lO5S4-lSFbGntkEkg",
|
|
"hostname" : "my.fqdn",
|
|
"ip" : "10.0.1.7",
|
|
"name" : "my_es_node"
|
|
},
|
|
"index" : {
|
|
"size" : {
|
|
"total" : "75.4mb"
|
|
"total_in_bytes" : 79063092,
|
|
"reused" : "0b",
|
|
"reused_in_bytes" : 0,
|
|
"recovered" : "65.7mb",
|
|
"recovered_in_bytes" : 68891939,
|
|
"percent" : "87.1%"
|
|
},
|
|
"files" : {
|
|
"total" : 73,
|
|
"reused" : 0,
|
|
"recovered" : 69,
|
|
"percent" : "94.5%"
|
|
},
|
|
"total_time" : "0s",
|
|
"total_time_in_millis" : 0
|
|
},
|
|
"translog" : {
|
|
"recovered" : 0,
|
|
"total" : 0,
|
|
"percent" : "100.0%",
|
|
"total_on_start" : 0,
|
|
"total_time" : "0s",
|
|
"total_time_in_millis" : 0
|
|
},
|
|
"start" : {
|
|
"check_index_time" : "0s",
|
|
"check_index_time_in_millis" : 0,
|
|
"total_time" : "0s",
|
|
"total_time_in_millis" : 0
|
|
}
|
|
} ]
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
|
|
The above response shows a single index recovering a single shard. In this case, the source of the recovery is a snapshot repository
|
|
and the target of the recovery is the node with name "my_es_node".
|
|
|
|
Additionally, the output shows the number and percent of files recovered, as well as the number and percent of bytes recovered.
|
|
|
|
In some cases a higher level of detail may be preferable. Setting "detailed=true" will present a list of physical files in recovery.
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
curl -XGET http://localhost:9200/_recovery?pretty&human&detailed=true
|
|
--------------------------------------------------
|
|
|
|
Response:
|
|
|
|
[source,js]
|
|
--------------------------------------------------
|
|
{
|
|
"index1" : {
|
|
"shards" : [ {
|
|
"id" : 0,
|
|
"type" : "STORE",
|
|
"stage" : "DONE",
|
|
"primary" : true,
|
|
"start_time" : "2014-02-24T12:38:06.349",
|
|
"start_time_in_millis" : "1393245486349",
|
|
"stop_time" : "2014-02-24T12:38:08.464",
|
|
"stop_time_in_millis" : "1393245488464",
|
|
"total_time" : "2.1s",
|
|
"total_time_in_millis" : 2115,
|
|
"source" : {
|
|
"id" : "RGMdRc-yQWWKIBM4DGvwqQ",
|
|
"hostname" : "my.fqdn",
|
|
"ip" : "10.0.1.7",
|
|
"name" : "my_es_node"
|
|
},
|
|
"target" : {
|
|
"id" : "RGMdRc-yQWWKIBM4DGvwqQ",
|
|
"hostname" : "my.fqdn",
|
|
"ip" : "10.0.1.7",
|
|
"name" : "my_es_node"
|
|
},
|
|
"index" : {
|
|
"size" : {
|
|
"total" : "24.7mb",
|
|
"total_in_bytes" : 26001617,
|
|
"reused" : "24.7mb",
|
|
"reused_in_bytes" : 26001617,
|
|
"recovered" : "0b",
|
|
"recovered_in_bytes" : 0,
|
|
"percent" : "100.0%"
|
|
},
|
|
"files" : {
|
|
"total" : 26,
|
|
"reused" : 26,
|
|
"recovered" : 0,
|
|
"percent" : "100.0%",
|
|
"details" : [ {
|
|
"name" : "segments.gen",
|
|
"length" : 20,
|
|
"recovered" : 20
|
|
}, {
|
|
"name" : "_0.cfs",
|
|
"length" : 135306,
|
|
"recovered" : 135306
|
|
}, {
|
|
"name" : "segments_2",
|
|
"length" : 251,
|
|
"recovered" : 251
|
|
},
|
|
...
|
|
]
|
|
},
|
|
"total_time" : "2ms",
|
|
"total_time_in_millis" : 2
|
|
},
|
|
"translog" : {
|
|
"recovered" : 71,
|
|
"total_time" : "2.0s",
|
|
"total_time_in_millis" : 2025
|
|
},
|
|
"start" : {
|
|
"check_index_time" : 0,
|
|
"total_time" : "88ms",
|
|
"total_time_in_millis" : 88
|
|
}
|
|
} ]
|
|
}
|
|
}
|
|
--------------------------------------------------
|
|
|
|
This response shows a detailed listing (truncated for brevity) of the actual files recovered and their sizes.
|
|
|
|
Also shown are the timings in milliseconds of the various stages of recovery: index retrieval, translog replay, and index start time.
|
|
|
|
Note that the above listing indicates that the recovery is in stage "done". All recoveries, whether on-going or complete, are kept in
|
|
cluster state and may be reported on at any time. Setting "active_only=true" will cause only on-going recoveries to be reported.
|
|
|
|
Here is a complete list of options:
|
|
|
|
[horizontal]
|
|
`detailed`:: Display a detailed view. This is primarily useful for viewing the recovery of physical index files. Default: false.
|
|
`active_only`:: Display only those recoveries that are currently on-going. Default: false.
|
|
|
|
Description of output fields:
|
|
|
|
[horizontal]
|
|
`id`:: Shard ID
|
|
`type`:: Recovery type:
|
|
* store
|
|
* snapshot
|
|
* replica
|
|
* relocating
|
|
`stage`:: Recovery stage:
|
|
* init: Recovery has not started
|
|
* index: Reading index meta-data and copying bytes from source to destination
|
|
* start: Starting the engine; opening the index for use
|
|
* translog: Replaying transaction log
|
|
* finalize: Cleanup
|
|
* done: Complete
|
|
`primary`:: True if shard is primary, false otherwise
|
|
`start_time`:: Timestamp of recovery start
|
|
`stop_time`:: Timestamp of recovery finish
|
|
`total_time_in_millis`:: Total time to recover shard in milliseconds
|
|
`source`:: Recovery source:
|
|
* repository description if recovery is from a snapshot
|
|
* description of source node otherwise
|
|
`target`:: Destination node
|
|
`index`:: Statistics about physical index recovery
|
|
`translog`:: Statistics about translog recovery
|
|
`start`:: Statistics about time to open and start the index
|