-
Notifications
You must be signed in to change notification settings - Fork 409
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
Bundle grpc/protobuf in tiflash #3896
Conversation
[REVIEW NOTIFICATION] This pull request has been approved by:
To complete the pull request process, please ask the reviewers in the list to review by filling The full list of commands accepted by this bot can be found here. Reviewer can indicate their review by submitting an approval review. |
/run-all-tests |
/run-all-tests |
How about openssl? |
Coverage detail: https://ci-internal.pingcap.net/job/tics_ghpr_unit_test/1069/cobertura/ lines: 44.7% (51498 out of 115169) |
This PR doesn't change the way how openssl is used. We may come back to it in another thread. |
/merge |
@zanmato1984: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests You only need to trigger If you have any questions about the PR merge process, please refer to pr process. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
This pull request has been accepted and is ready to merge. Commit hash: 571a628
|
/cc @SchrodingerZhu , This PR would affect the build docker image of the toolchain upgrade. |
/merge |
@zanmato1984: It seems you want to merge this PR, I will help you trigger all the tests: /run-all-tests You only need to trigger If you have any questions about the PR merge process, please refer to pr process. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the ti-community-infra/tichi repository. |
This pull request has been accepted and is ready to merge. Commit hash: a5853d4
|
Coverage detail: https://ci-internal.pingcap.net/job/tics_ghpr_unit_test/1109/cobertura/ lines: 44.7% (51532 out of 115235) |
Fully rename project to tiflash (#3901) Conflicts: libs/libdaemon/cmake/find_unwind.cmake Remove useless curl dependency (#3974) Bundle all dependencies: zlib, openssl and curl (#3987) Conflicts: contrib/poco update contrib/poco update ci/cd process Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> fix zlib-ng Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com>
Fully rename project to tiflash (#3901) Conflicts: libs/libdaemon/cmake/find_unwind.cmake Remove useless curl dependency (#3974) Bundle all dependencies: zlib, openssl and curl (#3987) Conflicts: contrib/poco update contrib/poco update ci/cd process Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> fix zlib-ng Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com>
Fully rename project to tiflash (pingcap#3901) Conflicts: libs/libdaemon/cmake/find_unwind.cmake Remove useless curl dependency (pingcap#3974) Bundle all dependencies: zlib, openssl and curl (pingcap#3987) Conflicts: contrib/poco update contrib/poco update ci/cd process Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> fix zlib-ng Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> extra fix formatted
Fully rename project to tiflash (pingcap#3901) Conflicts: libs/libdaemon/cmake/find_unwind.cmake Remove useless curl dependency (pingcap#3974) Bundle all dependencies: zlib, openssl and curl (pingcap#3987) Conflicts: contrib/poco update contrib/poco update ci/cd process Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> fix zlib-ng Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> extra fix formatted fix: remove dttool, unify definition fix: add functions fix: replace ClickHouse to TiFlash
Fully rename project to tiflash (pingcap#3901) Conflicts: libs/libdaemon/cmake/find_unwind.cmake Remove useless curl dependency (pingcap#3974) Bundle all dependencies: zlib, openssl and curl (pingcap#3987) Conflicts: contrib/poco update contrib/poco update ci/cd process Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> fix zlib-ng Signed-off-by: Zhigao Tong <tongzhigao@pingcap.com> extra fix formatted fix: remove dttool, unify definition fix: add functions fix: replace ClickHouse to TiFlash fix: update dtpb cmake fix: compile issue fmt fix: gtests fix: gtests scripts
What problem does this PR solve?
Problem Summary: Currently developing tiflash requires pre-installing grpc/protobuf (and in a weird way), this is a lot pain for most developers. We'd better bundle grpc/protobuf within tiflash, like other third party libraries.
What is changed and how it works?
Add grpc/protobuf and dependent submodules, and enhance cmake finding. Most cmake changes are copied from upstream ClickHouse with some minor tweaks.
Another problem is how to co-work with kvproto/tipb/client-c(which depends on kvproto as well) who depend on grpc/protobuf as well. Thanks to @JaySon-Huang 's great work in pingcap/kvproto#775, pingcap/tipb#230, this has been made relatively easy. I made separated changes pingcap/kvproto#853, pingcap/tipb#257, tikv/client-c#84 in these submodules.
Check List
Side effects
Basically no side effects if you build tiflash using bundled grpc/protobuf (the default option), except for the first time you'll have to pull more submodules and build them, but that's mostly a one-time deal.
If you go with the old-fashioned way, i.e., build tiflash using your own grpc/protobuf, you can use cmake option:
If your gprc/protobuf is not located in system default path, you can use extra option to specify it:
This has been tested on:
Documentation
Release note