-
Notifications
You must be signed in to change notification settings - Fork 753
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
API: Add version number field to metasrv API. Client provides its version and the server provides its compatbile version. #4948
Labels
A-meta
Area: databend meta serive
Comments
10 tasks
drmingdrmer
changed the title
API: Add version number field to metasrv API(in
API: Add version number field to metasrv API. Client provides its version and the server provides its compatbile version.
May 28, 2022
meta.proto
). Client provides its version and the server provides its compatbile version.
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
drmingdrmer
added a commit
to drmingdrmer/databend
that referenced
this issue
May 28, 2022
Before transfer any data, `MetaGrpcClient` must ensure it is compatible with the metasrv it is connecting to, in the handshake RPC. Add compatibility cross test: ``` latest query -- latest metasrv old query -- latest metasrv latest query -- old metasrv ``` Features - Compatibility test: download test suite for query. When testing an old query with latest metasrv, download the test suite for that version of query instead of using the latest suite, which may not pass if new feature test is added into the latest suite but not yet impl-ed in the old query. - Compatibility test: Test the compatibility between: - The latest query and the latest metasrv. - The oldest compatible query with latest metasrv. - The latest query with oldest compatible metasrv. - Protocol version exchange when meta-client `handshake` with metasrv. meta-client(query) keeps track of the min-metasrv version it is compatible with. metasrv keeps track of the min-meta-client version it is compatible with. Client handshake check these versions to ensure compatibility. Otherwise an error is returned and no further data will be transferred. - Add admin CLI command `--cmd ver`. `databend-query --cmd ver` outputs its build version and the minimal compatible metasrv version, such as: ``` version: 0.7.61-nightly min-compatible-metasrv-version: 0.7.59 ``` `databend-meta --cmd ver` outputs its build version and the minimal compatible meta-client(query) version, such as: ``` version: 0.7.61-nightly min-compatible-client-version: 0.7.57 ``` Refactors - Add a new error `InvalidArgument` to indicate protocol-error - `MetaGrpcClient::try_new()` does not need to be `async`. - Metasrv config does not `check()` if `--cmd` is non-empty: When `cmd` is specified, it does not mean to run it. Docs - Add doc explain how to check versions and how to upgrade. --- - Fix: databendlabs#5627 - Fix: databendlabs#4948
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
No description provided.
The text was updated successfully, but these errors were encountered: