foundationdb
foundationdb copied to clipboard
Exclude failed UI improvements
There are a couple things that I noticed while using the fdbcli> exclude failed command that could be changed to improve usability:
- The command disallows excluding enough coordinators that you would lose a quorum, but this does not take into account previous exclusions. For example, if I have three coordinators and exclude failed two of them, it will give me an error. If I exclude failed one and then another, both operations will complete successfully. (See also #4328).
- The include command requires specifying
failedto re-include failed processes, and if you omit it nothing happens. Instead, if you try to include a process that had been exclude failed, it should print a warning describing why it didn't do anything. - The include command help and auto-completion doesn't mention the
failedoption. - The exclude command says the following in its help:
If 'failed' is set, the transaction log queue is dropped pre-emptively before
waiting
for data movement to finish and the server cannot be included again.
I'd recommend something like this, which avoids implementation details and is more precise about inclusion. If there is some other straightforward benefit to exclude failed, we could try to describe it instead or in addition to the below.
If 'failed' is set, the process(es) are immediately forgotten and their data can
no longer be used. This allows the cluster to discard any state kept by the
transaction logs for those processes. A failed process can be re-included
without its data using 'include failed'.
Point 2, 3, and 4 are resolved now. Not sure about the first one.