WL#10799: integrate MySQL Router into MySQL Server repository
Affects: Server-8.0
—
Status: Complete
Motivation
As part of the MySQL InnoDB Cluster the MySQL Router becomes a integral part of the MySQL Server environment.
To simplify
- code reuse
- testing
- detect incompatible changes early
- ...
the router should be close to the MySQL Server in source.
On the other side, the integration shouldn't result in lower build times in continuous integration systems.
Goals
Integration to "all"
- "make all" should include MySQL Router
- running the test-suite via "make" should run the MySQL Router tests too
Independent builds and packaging
- there must be a way to build MySQL Router without building the while MySQL Server to keep build-times in CIs low.
- the router packages should be able to be built without building the server packages to allow independent testing in CIs.
Merge Criteria
Before the router's 'master' tree can be push into the server tree it:
- C1
- MUST have code coverage above 80%
- C2
- MUST build and pass tests with MySQL Server 8.0
- C3
- MUST build clean with Sun Studio
- C4
- MUST align the use of 3rd party dependencies with the server (protobuf, gmock, gtest, ...)
- C5
- MUST have zero unapproved bugs
- C6
- MUST got security review
- C7
- MUST got QA sign off
- C8
-
MUST be
-Werror
,ASAN
,UBSAN
,valgrind
clean - C9
- MUST got Cmake files reviewed
- C10
- MUST build packages (tar, deb, rpm, msi)
- C11
- MUST be integrated with the windows installer.
Process Requirements
- P1
- MUST unify the code-style with the google coding style guide-lines.
- P2
- MUST have all major refactoring branches merged
Non-Goals
- N1
- packaging and distribution of the Router SHALL NOT change.
Directory Layout
The router source will be located in:
router/
bundled 3rd party dependencies
Router uses:
- protobuf 3.0.0
- rapidjson
These MUST be removed and the server's ext/ folder must be used instead.
Dependent Work
Source Tree Integration
Packaging
Copyright (c) 2000, 2024, Oracle Corporation and/or its affiliates. All rights reserved.