bigchaindb / bigchaindb/bigchaindb
New bigchaindb Command to Shut Down BigchainDB Server Cleanly
@vrde is already working on this.
Since Oct 5, 2016.
- Dominant language
- Python
- Stars
- 4k
- Forks
- 758
- PR merge metrics
- No merged PRs in 30d
Description
We need a way to shut down BigchainDB Server cleanly and gracefully (e.g. a new bigchaindb something command-line command):
- even if new HTTP requests continue to arrive at port 9984 (and are expected to keep arriving)
- even if the node is part of a live cluster
- even if new RethinkDB traffic (e.g. new transactions in the backlog table, etc.) is arriving on port 29015
We might allow RethinkDB to keep running. For example, if we want to change a BigchainDB Server configuration setting (e.g. the keyring), then all we really need to do is shut down BigchainDB Server. RethinkDB can keep running.
A sketch of what the command might do:
- Stop accepting new requests via the HTTP API (on port 9984)
- Block incoming traffic on port 29015 (but RethinkDB can be kept running)
- Wait for all BigchainDB queues (in multipipes) to become empty
- Stop all BigchainDB Server processes gracefully
This issue was inspired, in part, by issues #357 and #436
@vrde I'm going to assign this to you since I think you know the most about how to do it, being very familiar with the bigchaindb command and also multipipes.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.