10000 Soft coordinator shutdown documentation (#14356) · arangodb/arangodb@c4a3be5 · GitHub
[go: up one dir, main page]

Skip to content

Commit c4a3be5

Browse files
neunhoefSimran-B
andauthored
Soft coordinator shutdown documentation (#14356)
* Add documentation for soft coordinator shutdown. * Add introduced in. * Apply suggestions from code review * Update get_api_shutdown.md * Update get_api_shutdown.md * Update delete_api_shutdown.md * Update get_api_shutdown.md Co-authored-by: Simran <Simran-B@users.noreply.github.com>
1 parent dfea7cb commit c4a3be5

File tree

2 files changed

+87
-1
lines changed

2 files changed

+87
-1
lines changed

Documentation/DocuBlocks/Rest/Administration/delete_api_shutdown.md

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,35 @@
44

55
@RESTHEADER{DELETE /_admin/shutdown, Initiate shutdown sequence, RestShutdownHandler}
66

7+
@RESTQUERYPARAMETERS
8+
9+
@RESTQUERYPARAM{soft,boolean,optional}
10+
<small>Introduced in: v3.7.12, v3.8.1, v3.9.0</small>
11+
12+
If set to `true`, this initiates a soft shutdown. This is only available
13+
on Coordinators. When issued, the Coordinator tracks a number of ongoing
14+
operations, waits until all have finished, and then shuts itself down
15+
normally. In the meantime, new operations of these types are no longer
16+
accepted and a 503 response is sent instead. However, further requests
17+
to finish the ongoing operations are allowed. This feature can be used
18+
to make restart operations of Coordinators less intrusive for clients.
19+
20+
The following types of operations are tracked:
21+
22+
- AQL cursors (in particular streaming cursors)
23+
- Transactions (in particular stream transactions)
24+
- Pregel runs (conducted by this Coordinator)
25+
- Ongoing asynchronous requests (using the `x-arango-async: store` HTTP header
26+
- Finished asynchronous requests, whose result has not yet been
27+
collected
28+
- Queued low priority requests (most normal requests)
29+
- Ongoing low priority requests
30+
31+
Note that the latter two are tracked but not prevented from being
32+
started, to allow for finishing operations.
33+
734
@RESTDESCRIPTION
8-
This call initiates a clean shutdown sequence. Requires administrive privileges
35+
This call initiates a clean shutdown sequence. Requires administrive privileges.
936

1037
@RESTRETURNCODES
1138

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
2+
@startDocuBlock get_api_shutdown
3+
@brief query progress of soft shutdown process
4+
5+
@RESTHEADER{GET /_admin/shutdown, Query progress of soft shutdown process, RestGetShutdownHandler}
6+
7+
@RESTDESCRIPTION
8+
<small>Introduced in: v3.7.12, v3.8.1, v3.9.0</small>
9+
10+
This call reports progress about a soft Coordinator shutdown (see
11+
documentation of `DELETE /_admin/shutdown?soft=true`).
12+
In this case, the following types of operations are tracked:
13+
14+
- AQL cursors (in particular streaming cursors)
15+
- Transactions (in particular stream transactions)
16+
- Pregel runs (conducted by this Coordinator)
17+
- Ongoing asynchronous requests (using the `x-arango-async: store` HTTP header
18+
- Finished asynchronous requests, whose result has not yet been
19+
collected
20+
- Queued low priority requests (most normal requests)
21+
- Ongoing low priority requests
22+
23+
This API is only available on Coordinators.
24+
25+
@RESTRETURNCODES
26+
27+
@RESTRETURNCODE{200}
28+
The response indicates the fact that a soft shutdown is ongoing and the
29+
number of active operations of the various types. Once all numbers have gone
30+
to 0, the flag `allClear` is set and the Coordinator shuts down automatically.
31+
32+
@RESTREPLYBODY{softShutdownOngoing,boolean,required,}
33+
Whether a soft shutdown of the Coordinator is in progress.
34+
35+
@RESTREPLYBODY{AQLcursors,number,required,}
36+
Number of AQL cursors that are still active.
37+
38+
@RESTREPLYBODY{transactions,number,required,}
39+
Number of ongoing transactions.
40+
41+
@RESTREPLYBODY{pendingJobs,number,required,}
42+
Number of ongoing asynchronous requests.
43+
44+
@RESTREPLYBODY{doneJobs,number,required,}
45+
Number of finished asynchronous requests, whose result has not yet been collected.
46+
47+
@RESTREPLYBODY{pregelConductors,number,required,}
48+
Number of ongoing Pregel jobs.
49+
50+
@RESTREPLYBODY{lowPrioOngoingRequests,number,required,}
51+
Number of queued low priority requests.
52+
53+
@RESTREPLYBODY{lowPrioQueuedRequests,number,required,}
54+
Number of ongoing low priority requests.
55+
56+
@RESTREPLYBODY{allClear,boolean,required,}
57+
Whether all active operations finished.
58+
59+
@endDocuBlock

0 commit comments

Comments
 (0)
0