1.3.9. /db/_shards
¶
New in version 2.0.
-
GET
/{db}/_shards
¶ The response will contain a list of database shards. Each shard will have its internal database range, and the nodes on which replicas of those shards are stored.
- Parameters
db – Database name
- Request Headers
Accept –
application/json
text/plain
- Response Headers
application/json
text/plain; charset=utf-8
- Response JSON Object
shards (object) – Mapping of shard ranges to individual shard replicas on each node in the cluster
- Status Codes
200 OK – Request completed successfully
400 Bad Request – Invalid database name
401 Unauthorized – Read privilege required
415 Unsupported Media Type – Bad Content-Type value
500 Internal Server Error – Internal server error or timeout
Request:
GET /db/_shards HTTP/1.1 Accept: */* Host: localhost:5984
Response:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 621 Content-Type: application/json Date: Fri, 18 Jan 2019 19:55:14 GMT Server: CouchDB/2.4.0 (Erlang OTP/19) { "shards": { "00000000-1fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "20000000-3fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "40000000-5fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "60000000-7fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "80000000-9fffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "a0000000-bfffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "c0000000-dfffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ], "e0000000-ffffffff": [ "couchdb@node1.example.com", "couchdb@node2.example.com", "couchdb@node3.example.com" ] } }
1.3.10. /db/_shards/doc
¶
-
GET
/{db}/_shards/{docid}
¶ Returns information about the specific shard into which a given document has been stored, along with information about the nodes on which that shard has a replica.
- Parameters
db – Database name
docid – Document ID
- Request Headers
Accept –
application/json
text/plain
- Response Headers
application/json
text/plain; charset=utf-8
- Response JSON Object
range (string) – The shard range in which the document is stored
nodes (array) – List of nodes serving a replica of the shard
- Status Codes
200 OK – Request completed successfully
401 Unauthorized – Read privilege required
404 Not Found – Database or document not found
500 Internal Server Error – Internal server error or timeout
Request:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 94 Content-Type: application/json Date: Fri, 18 Jan 2019 20:08:07 GMT Server: CouchDB/2.3.0-9d4cb03c2 (Erlang OTP/19)
Response:
HTTP/1.1 200 OK Cache-Control: must-revalidate Content-Length: 94 Content-Type: application/json Date: Fri, 18 Jan 2019 20:26:33 GMT Server: CouchDB/2.3.0-9d4cb03c2 (Erlang OTP/19) { "range": "e0000000-ffffffff", "nodes": [ "node1@127.0.0.1", "node2@127.0.0.1", "node3@127.0.0.1" ] }
1.3.11. /db/_sync_shards
¶
New in version 2.3.1.
-
POST
/{db}/_sync_shards
¶ For the given database, force-starts internal shard synchronization for all replicas of all database shards.
This is typically only used when performing cluster maintenance, such as moving a shard.
- Parameters
db – Database name
- Request Headers
Accept –
application/json
text/plain
- Response Headers
application/json
text/plain; charset=utf-8
- Response JSON Object
ok (boolean) – Operation status. Available in case of success
error (string) – Error type. Available if response code is
4xx
reason (string) – Error description. Available if response code is
4xx
- Status Codes
202 Accepted – Request accepted
400 Bad Request – Invalid database name
401 Unauthorized – CouchDB Server Administrator privileges required
404 Not Found – Database not found
500 Internal Server Error – Internal server error or timeout
Request:
POST /db/_sync_shards HTTP/1.1 Host: localhost:5984 Accept: */*
Response:
HTTP/1.1 202 Accepted Cache-Control: must-revalidate Content-Length: 12 Content-Type: application/json Date: Fri, 18 Jan 2019 20:19:23 GMT Server: CouchDB/2.3.0-9d4cb03c2 (Erlang OTP/19) X-Couch-Request-ID: 14f0b8d252 X-CouchDB-Body-Time: 0 { "ok": true }
Note
Admins may want to bump their [mem3] sync_concurrency
value to a
larger figure for the duration of the shards sync.