Skip to content
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

refactor: reorg workspace, a basic structure #7074

Merged
merged 22 commits into from Aug 13, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
a55a30f
chore: move into src
PsiACE Aug 9, 2022
9541ca9
Merge branch 'main' of github.com:PsiACE/databend into reorg-workspace
PsiACE Aug 10, 2022
94536e9
fix: edit test path
PsiACE Aug 10, 2022
1bbd28a
chore: intro databend-cmds
PsiACE Aug 10, 2022
5d0c732
chore: move ast and fuzz
PsiACE Aug 10, 2022
6b8d364
chore: fix fuzz build
PsiACE Aug 10, 2022
afddf3e
Merge branch 'main' of github.com:datafuselabs/databend into reorg-wo…
PsiACE Aug 10, 2022
9ca7ad9
chore: move databend-query to query/service
PsiACE Aug 10, 2022
a65ad2b
chore: move databend-meta to meta/service
PsiACE Aug 10, 2022
30c5e8e
chore: move common/meta to meta
PsiACE Aug 10, 2022
2dfb0a2
chore: move meta proto to meta
PsiACE Aug 10, 2022
0df6dcc
Merge github.com:PsiACE/databend into reorg-workspace
PsiACE Aug 10, 2022
41f73b2
docs: add more info
PsiACE Aug 10, 2022
33f4b35
chore: edit makefile and codeowner
PsiACE Aug 10, 2022
39a7544
Merge branch 'main' of github.com:datafuselabs/databend into reorg-wo…
PsiACE Aug 11, 2022
c583fde
chore: remove unused layer
PsiACE Aug 11, 2022
bde035c
chore: cmds -> binaries
PsiACE Aug 11, 2022
8c09605
Merge branch 'main' of github.com:datafuselabs/databend into reorg-wo…
PsiACE Aug 11, 2022
fcbca5a
Merge branch 'main' of github.com:datafuselabs/databend into reorg-wo…
PsiACE Aug 11, 2022
afb0c23
Merge remote-tracking branch 'origin/main' into reorg-workspace
Xuanwo Aug 13, 2022
75abe86
Merge remote-tracking branch 'origin/main' into reorg-workspace
Xuanwo Aug 13, 2022
697f6e5
Merge remote-tracking branch 'origin/main' into reorg-workspace
Xuanwo Aug 13, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
46 changes: 22 additions & 24 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
@@ -1,39 +1,37 @@
# Query
/common/arrow/ @datafuselabs/databend-query-reviewer
/common/arrow/ @datafuselabs/databend-query-reviewer
/common/datablocks/ @datafuselabs/databend-query-reviewer
/common/datavalues/ @datafuselabs/databend-query-reviewer
/common/functions/ @datafuselabs/databend-query-reviewer
/common/io/ @datafuselabs/databend-query-reviewer
/common/management/ @datafuselabs/databend-query-reviewer
/common/streams/ @datafuselabs/databend-query-reviewer
/src/common/arrow/ @datafuselabs/databend-query-reviewer
/src/common/datablocks/ @datafuselabs/databend-query-reviewer
/src/common/datavalues/ @datafuselabs/databend-query-reviewer
/src/common/functions/ @datafuselabs/databend-query-reviewer
/src/common/io/ @datafuselabs/databend-query-reviewer
/src/common/management/ @datafuselabs/databend-query-reviewer
/src/common/streams/ @datafuselabs/databend-query-reviewer

# Executor
/query/src/clusters/ @datafuselabs/databend-executor-reviewer
/query/src/pipelines/ @datafuselabs/databend-executor-reviewer
/query/src/api/rpc/ @datafuselabs/databend-executor-reviewer
/common/base/ @datafuselabs/databend-executor-reviewer
/common/exception/ @datafuselabs/databend-executor-reviewer
/common/planners/ @datafuselabs/databend-executor-reviewer
/src/query/service/src/clusters/ @datafuselabs/databend-executor-reviewer
/src/query/service/src/pipelines/ @datafuselabs/databend-executor-reviewer
/src/query/service/src/api/rpc/ @datafuselabs/databend-executor-reviewer
/src/common/base/ @datafuselabs/databend-executor-reviewer
/src/common/exception/ @datafuselabs/databend-executor-reviewer
/src/common/planners/ @datafuselabs/databend-executor-reviewer

# Planner
/common/ast/ @datafuselabs/databend-planner-reviewer
/query/src/optimizers/ @datafuselabs/databend-planner-reviewer
/src/query/ast/ @datafuselabs/databend-planner-reviewer
/src/query/service/src/optimizers/ @datafuselabs/databend-planner-reviewer

# MetaSrv
/metasrv/ @datafuselabs/databend-meta-reviewer
/common/meta/ @datafuselabs/databend-meta-reviewer
/common/grpc/ @datafuselabs/databend-meta-reviewer
/common/protos/proto @drmingdrmer
/src/meta/ @datafuselabs/databend-meta-reviewer
/src/common/grpc/ @datafuselabs/databend-meta-reviewer
/src/meta/protos/proto @drmingdrmer

# Storage
/common/cache/ @datafuselabs/databend-storage-reviewer
/query/src/catalogs/ @datafuselabs/databend-storage-reviewer
/query/src/storages/ @datafuselabs/databend-storage-reviewer
/src/common/cache/ @datafuselabs/databend-storage-reviewer
/src/query/service/src/catalogs/ @datafuselabs/databend-storage-reviewer
/src/query/service/src/storages/ @datafuselabs/databend-storage-reviewer


# API and handler
/query/src/servers/ @datafuselabs/databend-api-reviewer
/src/query/service/src/servers/ @datafuselabs/databend-api-reviewer

# Website
/website/ @datafuselabs/databend-document-reviewer
Expand Down
89 changes: 40 additions & 49 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

103 changes: 53 additions & 50 deletions Cargo.toml
@@ -1,62 +1,65 @@
[workspace]
members = [
# Binaries
"src/binaries",

# Common
"common/arrow",
"common/base",
"common/building",
"common/cache",
"common/catalog",
"common/codegen",
"common/config",
"common/contexts",
"common/datablocks",
"common/datavalues",
"common/exception",
"common/expression",
"common/formats",
"common/functions",
"common/functions-v2",
"common/grpc",
"common/hashtable",
"common/hive-meta-store",
"common/http",
"common/io",
"common/macros",
"common/management",
"common/meta/api",
"common/meta/embedded",
"common/meta/raft-store",
"common/meta/sled-store",
"common/meta/store",
"common/meta/types",
"common/metrics",
"common/planners",
"common/proto-conv",
"common/protos",
"common/meta/app",
"common/streams",
"common/tracing",
"common/users",
"common/storage",
"common/storages/hive",
"common/storages/index",
"common/fuse-meta",
"src/common/arrow",
"src/common/base",
"src/common/building",
"src/common/cache",
"src/common/catalog",
"src/common/codegen",
"src/common/config",
"src/common/contexts",
"src/common/datablocks",
"src/common/datavalues",
"src/common/exception",
"src/common/expression",
"src/common/formats",
"src/common/functions",
"src/common/functions-v2",
"src/common/grpc",
"src/common/hashtable",
"src/common/hive-meta-store",
"src/common/http",
"src/common/io",
"src/common/macros",
"src/common/management",
"src/common/metrics",
"src/common/planners",
"src/common/streams",
"src/common/tracing",
"src/common/users",
"src/common/storage",
"src/common/storages/hive",
"src/common/storages/index",
"src/common/fuse-meta",

# Query
"query",
"src/query/ast",
# databend-query
"src/query/service",

# Meta
"metasrv",
# Tools
"tools/metabench",
"tools/metactl",
"src/meta/api",
"src/meta/app",
"src/meta/embedded",
"src/meta/raft-store",
"src/meta/sled-store",
"src/meta/store",
"src/meta/types",
# meta proto
"src/meta/proto-conv",
"src/meta/protos",
# databend-meta
"src/meta/service",

# Hack
# This crate is used to hack our cargo.lock to resovle CVEs and so on.
"common/dep-hack",
"src/workspace-hack",
]

# cargo can't build fuzz targets with afl
# split `fuzz` into seperate workspace can help resolve this.
exclude = ["tools/fuzz"]

[profile.release]
debug = 1
lto = "thin"
Expand Down
6 changes: 3 additions & 3 deletions Makefile
Expand Up @@ -113,8 +113,8 @@ profile:
clean:
cargo clean
rm -f ./nohup.out ./tests/suites/0_stateless/*.stdout-e
rm -rf ./_meta*/ ./_logs*/ ./query/_logs*/ ./metasrv/_logs*/ ./stateless_test_data/
rm -rf ./common/base/_logs*/ ./common/meta/raft-store/_logs*/ ./common/meta/sled-store/_logs*/
rm -rf ./.databend ./query/.databend ./meta/.databend
rm -rf ./_meta*/ ./_logs*/ ./src/query/service_logs*/ ./src/meta/service/_logs*/ ./stateless_test_data/
rm -rf ./src/common/base/_logs*/ ./src/meta/raft-store/_logs*/ ./src/meta/sled-store/_logs*/
rm -rf ./.databend ./query/service/.databend ./meta/service/.databend

.PHONY: setup test run build fmt lint docker clean
10 changes: 5 additions & 5 deletions docs/dev/30-subsystems/20-databend-meta/version.md
Expand Up @@ -12,10 +12,10 @@ Expected deployment time: **5 minutes ⏱**
:::

Meta server has a build version(`METASRV_COMMIT_VERSION`) and the minimal compatible version of meta client(`MIN_METACLI_SEMVER`),
which are defined in `metasrv/src/version.rs`.
which are defined in `src/meta/service/src/version.rs`.

Meta client has a build version(`METACLI_COMMIT_SEMVER`) and the minimal compatible version of meta server(`MIN_METASRV_SEMVER`),
which are defined in `common/meta/grpc/src/lib.rs`.
which are defined in `src/meta/grpc/src/lib.rs`.

These four versions defines compatibility between meta server and meta client.
[Compatibility][Compatibility] explains how it works.
Expand All @@ -32,9 +32,9 @@ According to the algorithm [Compatibility][Compatibility] defines:


Protocol related crates are(this list may not be exhausted if new types are introduced in future):
- `common/protos`: defines the protobuf messages a meta client talks to a meta server.
- `common/proto-conv`: defines how to convert metadata types in rust from and to protobuf messages.
- `common/meta/types`: defines the rust types for metadata.
- `src/meta/protos`: defines the protobuf messages a meta client talks to a meta server.
- `src/meta/proto-conv`: defines how to convert metadata types in rust from and to protobuf messages.
- `src/meta/types`: defines the rust types for metadata.


[Compatibility]: https://databend.rs/doc/manage/upgrade/compatibility
Expand Down
3 changes: 0 additions & 3 deletions metasrv/README.md

This file was deleted.

26 changes: 0 additions & 26 deletions query/tests/it/tests/tls_constants.rs

This file was deleted.