apple / foundationdb

FoundationDB - the open source, distributed, transactional key-value store
https://apple.github.io/foundationdb/
Apache License 2.0
14.53k stars 1.31k forks source link

Using the multi-version client in the CLI #1809

Open brownleej opened 5 years ago

brownleej commented 5 years ago

When running fdbcli commands, we have to match the version of the CLI to the version of the server that we are talking to. This creates headaches when running different clusters at different versions, because you need to keep multiple versions of the CLI and select the right one based on the cluster. It's a particular pain point when killing processes during upgrades, because the CLI cannot connect to the database after the kill happens. Could we try to have the CLI go through the multi-version client so that we can use the latest version of the CLI regardless of which version of the server we're talking to?

ajbeamon commented 5 years ago

Note that this requires that all of the internal APIs used by fdbcli be made available through the C library. It's possible that's already the case (at least in part) if those APIs are accessible through manipulations on \xff keys, etc.