1.3.9. /{db}/_shards
¶
Added 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/{docid}
¶
- 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:
GET /db/_shards/docid HTTP/1.1 Accept: */* Host: localhost:5984
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
¶
Added 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.