diff --git a/debezium-connector-mysql/NOTES.md b/debezium-connector-mysql/NOTES.md index 8c781b53c..a36742d98 100644 --- a/debezium-connector-mysql/NOTES.md +++ b/debezium-connector-mysql/NOTES.md @@ -1,4 +1,4 @@ -This module builds a custom Docker image based upon the [container-registry.oracle.com/mysql/community-server:8.1](https://container-registry.oracle.com/ords/ocr/ba/mysql/community-server) Docker image, and run that by default for our integration testing. This base image is maintained and "optimized" by the MySQL development team, and excludes some of the developer and administration utilities commonly needed when working with MySQL. More importantly, it starts a bit faster and is less verbose upon initialization and startup, making it a better fit for our default builds. +This module builds a custom Docker image based upon the [container-registry.oracle.com/mysql/community-server:8.2](https://container-registry.oracle.com/ords/ocr/ba/mysql/community-server) Docker image, and run that by default for our integration testing. This base image is maintained and "optimized" by the MySQL development team, and excludes some of the developer and administration utilities commonly needed when working with MySQL. More importantly, it starts a bit faster and is less verbose upon initialization and startup, making it a better fit for our default builds. The [mysql](https://hub.docker.com/r/_/mysql/) images are maintained by Docker, and provide a more complete installation with all of the development tools (including the `mysqlbinlog` utility). Startup is a lot more verbose, and only with recent images could our build easily discover when the server was finally ready (since the server is started and stopped several times). diff --git a/debezium-connector-mysql/README.md b/debezium-connector-mysql/README.md index 4e1efbd7f..c828c7f3b 100644 --- a/debezium-connector-mysql/README.md +++ b/debezium-connector-mysql/README.md @@ -20,7 +20,7 @@ This module contains both unit tests and integration tests. A *unit test* is a JUnit test class named `*Test.java` or `Test*.java` that never requires or uses external services, though it can use the file system and can run any components within the same JVM process. They should run very quickly, be independent of each other, and clean up after itself. -An *integration test* is a JUnit test class named `*IT.java` or `IT*.java` that uses a MySQL database server running in a custom Docker container based upon the [container-registry.oracle.com/mysql/community-server:8.1](https://container-registry.oracle.com/ords/ocr/ba/mysql/community-server) Docker image maintained by the MySQL team. The build will automatically start the MySQL container before the integration tests are run and automatically stop and remove it after all of the integration tests complete (regardless of whether they suceed or fail). All databases used in the integration tests are defined and populated using `*.sql` files and `*.sh` scripts in the `src/test/docker/init` directory, which are copied into the Docker image and run in lexicographical order by MySQL upon startup. Multiple test methods within a single integration test class can reuse the same database, but generally each integration test class should use its own dedicated database(s). +An *integration test* is a JUnit test class named `*IT.java` or `IT*.java` that uses a MySQL database server running in a custom Docker container based upon the [container-registry.oracle.com/mysql/community-server:8.2](https://container-registry.oracle.com/ords/ocr/ba/mysql/community-server) Docker image maintained by the MySQL team. The build will automatically start the MySQL container before the integration tests are run and automatically stop and remove it after all of the integration tests complete (regardless of whether they suceed or fail). All databases used in the integration tests are defined and populated using `*.sql` files and `*.sh` scripts in the `src/test/docker/init` directory, which are copied into the Docker image and run in lexicographical order by MySQL upon startup. Multiple test methods within a single integration test class can reuse the same database, but generally each integration test class should use its own dedicated database(s). Running `mvn install` will compile all code and run the unit and integration tests. If there are any compile problems or any of the unit tests fail, the build will stop immediately. Otherwise, the command will continue to create the module's artifacts, create the Docker image with MySQL and custom scripts, start the Docker container, run the integration tests, stop the container (even if there are integration test failures), and run checkstyle on the code. If there are still no problems, the build will then install the module's artifacts into the local Maven repository. @@ -91,7 +91,7 @@ or to stop and remove the Docker container: ### Using an alternative MySQL Server -All of the above commands will start the MySQL Docker container that is built upon the [container-registry.oracle.com/mysql/community-server:8.1](https://container-registry.oracle.com/ords/ocr/ba/mysql/community-server/) Docker image maintained by the MySQL team. This image has an "optimized" MySQL server that includes only a portion of the full installation (e.g., it excludes some tools such as `mysqlbinlog`). However, it starts a little faster and is less verbose in its output. +All of the above commands will start the MySQL Docker container that is built upon the [container-registry.oracle.com/mysql/community-server:8.2](https://container-registry.oracle.com/ords/ocr/ba/mysql/community-server/) Docker image maintained by the MySQL team. This image has an "optimized" MySQL server that includes only a portion of the full installation (e.g., it excludes some tools such as `mysqlbinlog`). However, it starts a little faster and is less verbose in its output. This module defines the `alt-mysql` Maven profile that will instead use the [mysql](https://hub.docker.com/r/_/mysql/) Docker image maintained by Docker (the company). This is a bit more verbose, but it includes all of the MySQL utilities, including `mysqlbinlog` that may be necessary to properly debug and analyze the behavior of the integration tests. diff --git a/pom.xml b/pom.xml index a49a15d5f..f9f9124b7 100644 --- a/pom.xml +++ b/pom.xml @@ -134,7 +134,7 @@ 4.14.0 - 8.1 + 8.2 8.0 6.0 3.11.12