diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar index cb28b0e37c7..7967f30dd1d 100644 Binary files a/.mvn/wrapper/maven-wrapper.jar and b/.mvn/wrapper/maven-wrapper.jar differ diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties index 346d645fd06..7462052527f 100644 --- a/.mvn/wrapper/maven-wrapper.properties +++ b/.mvn/wrapper/maven-wrapper.properties @@ -14,5 +14,7 @@ # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. -distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.6/apache-maven-3.9.6-bin.zip -wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar +wrapperVersion=3.3.2 +distributionType=bin +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.9.8/apache-maven-3.9.8-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar diff --git a/benchmarks/src/test/java/zipkin2/server/ServerIntegratedBenchmark.java b/benchmarks/src/test/java/zipkin2/server/ServerIntegratedBenchmark.java index f69ab119850..54319975b0d 100644 --- a/benchmarks/src/test/java/zipkin2/server/ServerIntegratedBenchmark.java +++ b/benchmarks/src/test/java/zipkin2/server/ServerIntegratedBenchmark.java @@ -81,7 +81,7 @@ class ServerIntegratedBenchmark { @Test void elasticsearch() throws Exception { GenericContainer elasticsearch = - new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-elasticsearch7:3.3.1")) + new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-elasticsearch7:3.4.0")) .withNetwork(Network.SHARED) .withNetworkAliases("elasticsearch") .withLabel("name", "elasticsearch") @@ -95,7 +95,7 @@ class ServerIntegratedBenchmark { @Test void cassandra3() throws Exception { GenericContainer cassandra = - new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-cassandra:3.3.1")) + new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-cassandra:3.4.0")) .withNetwork(Network.SHARED) .withNetworkAliases("cassandra") .withLabel("name", "cassandra") @@ -109,7 +109,7 @@ class ServerIntegratedBenchmark { @Test void mysql() throws Exception { GenericContainer mysql = - new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-mysql:3.3.1")) + new GenericContainer<>(parse("ghcr.io/openzipkin/zipkin-mysql:3.4.0")) .withNetwork(Network.SHARED) .withNetworkAliases("mysql") .withLabel("name", "mysql") @@ -147,7 +147,7 @@ void runBenchmark(@Nullable GenericContainer storage, GenericContainer zip // Use a quay.io mirror to prevent build outages due to Docker Hub pull quotas // Use same version as in docker/examples/docker-compose-prometheus.yml GenericContainer prometheus = - new GenericContainer<>(parse("quay.io/prometheus/prometheus:v2.51.2")) + new GenericContainer<>(parse("quay.io/prometheus/prometheus:v2.53.1")) .withNetwork(Network.SHARED) .withNetworkAliases("prometheus") .withExposedPorts(9090) @@ -157,7 +157,7 @@ void runBenchmark(@Nullable GenericContainer storage, GenericContainer zip // Use a quay.io mirror to prevent build outages due to Docker Hub pull quotas // Use same version as in docker/examples/docker-compose-prometheus.yml - GenericContainer grafana = new GenericContainer<>(parse("quay.io/giantswarm/grafana:7.5.9")) + GenericContainer grafana = new GenericContainer<>(parse("quay.io/giantswarm/grafana:7.5.12")) .withNetwork(Network.SHARED) .withNetworkAliases("grafana") .withExposedPorts(3000) @@ -169,7 +169,7 @@ void runBenchmark(@Nullable GenericContainer storage, GenericContainer zip // Use a quay.io mirror to prevent build outages due to Docker Hub pull quotas // Use same version as in docker/examples/docker-compose-prometheus.yml GenericContainer grafanaDashboards = - new GenericContainer<>(parse("quay.io/cilium/alpine-curl:v1.9.0")) + new GenericContainer<>(parse("quay.io/cilium/alpine-curl:v1.10.0")) .withNetwork(Network.SHARED) .withWorkingDirectory("/tmp") .withLogConsumer(new Slf4jLogConsumer(LOG)) @@ -277,7 +277,7 @@ GenericContainer createZipkinContainer(@Nullable GenericContainer storage) final GenericContainer zipkin; if (RELEASE_VERSION == null) { - zipkin = new GenericContainer<>(parse("ghcr.io/openzipkin/java:21.0.3_p9")); + zipkin = new GenericContainer<>(parse("ghcr.io/openzipkin/java:21.0.4_p7")); List classpath = new ArrayList<>(); for (String item : System.getProperty("java.class.path").split(File.pathSeparator)) { Path path = Paths.get(item); diff --git a/build-bin/docker-compose-zipkin.yml b/build-bin/docker-compose-zipkin.yml index 3a2e2938319..57f2f06ad39 100755 --- a/build-bin/docker-compose-zipkin.yml +++ b/build-bin/docker-compose-zipkin.yml @@ -14,7 +14,7 @@ services: # Use fixed service and container name 'sut; so our test script can copy/pasta sut: container_name: sut - image: ghcr.io/openzipkin/alpine:3.20.0 + image: ghcr.io/openzipkin/alpine:3.20.2 entrypoint: /bin/sh # Keep the container running until HEALTHCHECK passes command: "-c \"sleep 5m\"" diff --git a/build-bin/docker/docker-healthcheck b/build-bin/docker/docker-healthcheck index 8b70dc4114c..d255dd7c5ad 100755 --- a/build-bin/docker/docker-healthcheck +++ b/build-bin/docker/docker-healthcheck @@ -4,7 +4,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# HEALTHCHECK for use in `docker ps`, `docker-compose ps`, or a readiness probe in k8s. +# HEALTHCHECK for use in `docker ps`, `docker compose ps`, or a readiness probe in k8s. # # The following variables are read from ENV in the Dockerfile or env readable from pid 1. # * HEALTHCHECK_KIND - must be "http" or "tcp". Defaults to "http" diff --git a/build-bin/docker/docker_args b/build-bin/docker/docker_args index 1ebdb54fe35..02241b9f0cf 100755 --- a/build-bin/docker/docker_args +++ b/build-bin/docker/docker_args @@ -37,7 +37,7 @@ if [ -n "${DOCKER_TARGET}" ]; then fi # When non-empty, becomes the base layer including tag appropriate for the image being built. -# e.g. ghcr.io/openzipkin/java:21.0.3_p9-jre +# e.g. ghcr.io/openzipkin/java:21.0.4_p7-jre # # This is not required to be a base (FROM scratch) image like ghcr.io/openzipkin/alpine:3.12.3 # See https://docs.docker.com/glossary/#parent-image @@ -51,7 +51,7 @@ if [ -n "${ALPINE_VERSION}" ]; then docker_args="${docker_args} --build-arg alpine_version=${ALPINE_VERSION}" fi -# When non-empty, becomes the build-arg java_version. e.g. "21.0.3_p9" +# When non-empty, becomes the build-arg java_version. e.g. "21.0.4_p7" # Used to align base layers from https://github.com/orgs/openzipkin/packages/container/package/java if [ -n "${JAVA_VERSION}" ]; then docker_args="${docker_args} --build-arg java_version=${JAVA_VERSION}" diff --git a/build-bin/docker/docker_test_image b/build-bin/docker/docker_test_image index fad9da0d852..062ced7b213 100755 --- a/build-bin/docker/docker_test_image +++ b/build-bin/docker/docker_test_image @@ -11,16 +11,16 @@ set -ue -# export this variable so that docker-compose can use it +# export this variable so that docker compose can use it export DOCKER_IMAGE=${1?full docker_tag is required. Ex openzipkin/zipkin:test} -# The two options are to run a single container of the image, or docker-compose which includes it. +# The two options are to run a single container of the image, or docker compose which includes it. docker_compose_file=${2:-build-bin/docker-compose-$(echo ${DOCKER_IMAGE}| sed 's~.*/\(.*\):.*~\1~g').yml} docker_container=${3:-sut} # First try to run the intended containers. health_rc=0 if test -f "${docker_compose_file}"; then - docker-compose -f "${docker_compose_file}" up --remove-orphans -d --quiet-pull || health_rc=1 + docker compose -f "${docker_compose_file}" up --remove-orphans -d --quiet-pull || health_rc=1 else docker run --name ${docker_container} -d ${DOCKER_IMAGE} || health_rc=1 fi @@ -30,13 +30,13 @@ fi if [ "${health_rc}" = "1" ] || ! build-bin/docker/docker_block_on_health ${docker_container}; then >&2 echo "*** Failed waiting for health of ${docker_container}" - # Sadly, we can't `docker-compose inspect`. This means we may not see the inspect output of the - # container that failed in docker-compose until this is revised to work around compose/issues/4155 + # Sadly, we can't `docker compose inspect`. This means we may not see the inspect output of the + # container that failed in docker compose until this is revised to work around compose/issues/4155 docker inspect --format='{{json .State.Health.Log}}' ${docker_container} || true # Log any containers output to console before we remove them. if test -f "${docker_compose_file}"; then - docker-compose -f "${docker_compose_file}" logs + docker compose -f "${docker_compose_file}" logs else docker logs ${docker_container} || true fi @@ -45,7 +45,7 @@ fi # Clean up any containers, so that we can run this again without conflict. if test -f "${docker_compose_file}"; then - docker-compose -f "${docker_compose_file}" down + docker compose -f "${docker_compose_file}" down else docker kill ${docker_container} && docker rm ${docker_container} fi diff --git a/build-bin/maven/maven_unjar b/build-bin/maven/maven_unjar index 624742ce9b3..6d95f7984db 100755 --- a/build-bin/maven/maven_unjar +++ b/build-bin/maven/maven_unjar @@ -58,7 +58,7 @@ fi if ! test -f ${artifact_id}.jar && [ ${is_release} = "true" ]; then mvn_get="mvn -q --batch-mode -Denforcer.fail=false \ - org.apache.maven.plugins:maven-dependency-plugin:3.6.1:get \ + org.apache.maven.plugins:maven-dependency-plugin:3.7.1:get \ -Dtransitive=false -DgroupId=${group_id} -DartifactId=${artifact_id} -Dversion=${version}" if [ -n "${classifier}" ]; then diff --git a/docker/Dockerfile b/docker/Dockerfile index b0af1afcf7f..a2c517c54e0 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch diff --git a/docker/RATIONALE.md b/docker/RATIONALE.md index 9cdcf368d39..4fd7dc54e2a 100644 --- a/docker/RATIONALE.md +++ b/docker/RATIONALE.md @@ -7,7 +7,7 @@ dependency: having HEALTHCHECK present makes triage and scripting a bit easier. HEALTHCHECK on our test image serves primarily three purposes: * ad-hoc or scripted status of health using docker ps instead of knowing Kafka commands - * to allow manual usage of the docker-compose v2 service_healthy condition + * to allow manual usage of the docker compose v2 service_healthy condition * support Docker Hub automated test service Ex. The following command can be used ad-hoc or in scripts without the user knowing Kafka: diff --git a/docker/examples/README.md b/docker/examples/README.md index e441b0ab35f..9655c7c43dd 100644 --- a/docker/examples/README.md +++ b/docker/examples/README.md @@ -2,15 +2,15 @@ This project is configured to run docker containers using [docker-compose](https://docs.docker.com/compose/). Note that the default -configuration requires docker-compose 1.6.0+ and docker-engine 1.10.0+. +configuration requires docker compose 1.6.0+ and docker-engine 1.10.0+. -To start the default docker-compose configuration, run: +To start the default docker compose configuration, run: ```bash # To use the last released version of zipkin -$ docker-compose up +$ docker compose up # To use the last built version of zipkin -$ TAG=master docker-compose up +$ TAG=master docker compose up ``` View the web UI at $(docker ip):9411. Traces are stored in memory. @@ -26,7 +26,7 @@ own containers. To add ActiveMQ configuration, run: ```bash -$ docker-compose -f docker-compose-activemq.yml up +$ docker compose -f docker-compose-activemq.yml up ``` Then configure the [ActiveMQ sender](https://github.com/openzipkin/zipkin-reporter-java/blob/master/activemq-client/src/main/java/zipkin2/reporter/activemq/ActiveMQSender.java) @@ -41,7 +41,7 @@ You can store traces in [Cassandra](../test-images/zipkin-cassandra/README.md) i To start the Cassandra-backed configuration, run: ```bash -$ docker-compose -f docker-compose-cassandra.yml up +$ docker compose -f docker-compose-cassandra.yml up ``` The `zipkin-dependencies` container is a scheduled task that runs every hour. @@ -49,7 +49,7 @@ If you want to see the dependency graph before then, you can run it manually in another terminal like so: ```bash -$ docker-compose -f docker-compose-cassandra.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies +$ docker compose -f docker-compose-cassandra.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies ``` ## Elasticsearch @@ -61,7 +61,7 @@ using the `docker-compose-elasticsearch.yml` file. This configuration starts `zi To start the Elasticsearch-backed configuration, run: ```bash -$ docker-compose -f docker-compose-elasticsearch.yml up +$ docker compose -f docker-compose-elasticsearch.yml up ``` The `zipkin-dependencies` container is a scheduled task that runs every hour. @@ -69,7 +69,7 @@ If you want to see the dependency graph before then, you can run it manually in another terminal like so: ```bash -$ docker-compose -f docker-compose-elasticsearch.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies +$ docker compose -f docker-compose-elasticsearch.yml run --rm --no-deps --entrypoint start-zipkin-dependencies dependencies ``` ## Kafka @@ -80,7 +80,7 @@ own containers. To add Kafka configuration, run: ```bash -$ docker-compose -f docker-compose-kafka.yml up +$ docker compose -f docker-compose-kafka.yml up ``` Then configure the [Kafka sender](https://github.com/openzipkin/zipkin-reporter-java/blob/master/kafka/src/main/java/zipkin2/reporter/kafka/KafkaSender.java) using a `bootstrapServers` value of `host.docker.internal:9092` if your application is inside the same docker network or `localhost:19092` if not, but running on the same host. @@ -101,7 +101,7 @@ You can store traces in [MySQL](../test-images/zipkin-mysql/README.md) instead o To start the MySQL-backed configuration, run: ```bash -$ docker-compose -f docker-compose-mysql.yml up +$ docker compose -f docker-compose-mysql.yml up ``` ## RabbitMQ @@ -112,7 +112,7 @@ own containers. To add RabbitMQ configuration, run: ```bash -$ docker-compose -f docker-compose-rabbitmq.yml up +$ docker compose -f docker-compose-rabbitmq.yml up ``` Then configure the [RabbitMQ sender](https://github.com/openzipkin/zipkin-reporter-java/blob/master/amqp-client/src/main/java/zipkin2/reporter/amqp/RabbitMQSender.java) @@ -129,18 +129,18 @@ discover zipkin's endpoint from `eureka` and use it to send spans. To try this out, run: ```bash -$ docker-compose -f docker-compose.yml -f docker-compose-eureka.yml up +$ docker compose -f docker-compose.yml -f docker-compose-eureka.yml up ``` ## Example -The docker-compose configuration can be extended to host an [example application](https://github.com/openzipkin/brave-example) -using the `docker-compose-example.yml` file. That file employs [docker-compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) +The docker compose configuration can be extended to host an [example application](https://github.com/openzipkin/brave-example) +using the `docker-compose-example.yml` file. That file employs [docker compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) to add a "frontend" and "backend" service. To add the example configuration, run: ```bash -$ docker-compose -f docker-compose.yml -f docker-compose-example.yml up +$ docker compose -f docker-compose.yml -f docker-compose-example.yml up ``` Once the services start, open http://localhost:8081/ @@ -150,15 +150,15 @@ Afterward, you can view traces that went through the backend via http://localhos ## UI -The docker-compose configuration can be extended to [host the UI](../test-images/zipkin-ui/README.md) on port 80 +The docker compose configuration can be extended to [host the UI](../test-images/zipkin-ui/README.md) on port 80 using the `docker-compose-ui.yml` file. That file employs -[docker-compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) +[docker compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) to add an NGINX container and relevant settings. To start the NGINX configuration, run: ```bash -$ docker-compose -f docker-compose.yml -f docker-compose-ui.yml up +$ docker compose -f docker-compose.yml -f docker-compose-ui.yml up ``` This container doubles as a skeleton for creating proxy configuration around @@ -176,14 +176,14 @@ $ docker run -d -p 80:80 \ ## UI Proxy -The docker-compose configuration can be extended to [proxy the UI](../test-images/zipkin-uiproxy/README.md) on port 80 +The docker compose configuration can be extended to [proxy the UI](../test-images/zipkin-uiproxy/README.md) on port 80 using the `docker-compose-uiproxy.yml` file. That file employs -[docker-compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) to add an NGINX container and relevant settings. +[docker compose overrides](https://docs.docker.com/compose/extends/#multiple-compose-files) to add an NGINX container and relevant settings. To start the NGINX configuration, run: ```bash -$ docker-compose -f docker-compose.yml -f docker-compose-uiproxy.yml up +$ docker compose -f docker-compose.yml -f docker-compose-uiproxy.yml up ``` This container helps verify the `ZIPKIN_UI_BASEPATH` variable by setting it to diff --git a/docker/examples/docker-compose-activemq.yml b/docker/examples/docker-compose-activemq.yml index eef704422be..92d1b7d84e9 100644 --- a/docker/examples/docker-compose-activemq.yml +++ b/docker/examples/docker-compose-activemq.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml to add a test diff --git a/docker/examples/docker-compose-cassandra.yml b/docker/examples/docker-compose-cassandra.yml index c432235280a..0822766876e 100644 --- a/docker/examples/docker-compose-cassandra.yml +++ b/docker/examples/docker-compose-cassandra.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml to run the diff --git a/docker/examples/docker-compose-elasticsearch.yml b/docker/examples/docker-compose-elasticsearch.yml index 61bea9a5c05..bcb4c7603d5 100644 --- a/docker/examples/docker-compose-elasticsearch.yml +++ b/docker/examples/docker-compose-elasticsearch.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml to run the diff --git a/docker/examples/docker-compose-eureka.yml b/docker/examples/docker-compose-eureka.yml index 556cf0a20dd..5ff0f1d2023 100644 --- a/docker/examples/docker-compose-eureka.yml +++ b/docker/examples/docker-compose-eureka.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml to register diff --git a/docker/examples/docker-compose-kafka.yml b/docker/examples/docker-compose-kafka.yml index 28b03bffe66..37e67d36e05 100644 --- a/docker/examples/docker-compose-kafka.yml +++ b/docker/examples/docker-compose-kafka.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml to add a test diff --git a/docker/examples/docker-compose-mysql.yml b/docker/examples/docker-compose-mysql.yml index d1bdeb878dc..0217ee3fd04 100644 --- a/docker/examples/docker-compose-mysql.yml +++ b/docker/examples/docker-compose-mysql.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # This runs the zipkin and zipkin-mysql containers, using docker-compose's diff --git a/docker/examples/docker-compose-prometheus.yml b/docker/examples/docker-compose-prometheus.yml index 0b142abe87a..d88dc832528 100644 --- a/docker/examples/docker-compose-prometheus.yml +++ b/docker/examples/docker-compose-prometheus.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # This runs containers that collect data for our Grafana dashboard diff --git a/docker/examples/docker-compose-rabbitmq.yml b/docker/examples/docker-compose-rabbitmq.yml index 214ccf0216d..10ba2e0eab0 100644 --- a/docker/examples/docker-compose-rabbitmq.yml +++ b/docker/examples/docker-compose-rabbitmq.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml to add a test diff --git a/docker/examples/docker-compose-ui.yml b/docker/examples/docker-compose-ui.yml index b790e6b02ab..43cf412cf2e 100644 --- a/docker/examples/docker-compose-ui.yml +++ b/docker/examples/docker-compose-ui.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml, hosting the diff --git a/docker/examples/docker-compose-uiproxy.yml b/docker/examples/docker-compose-uiproxy.yml index a01658436f2..8fae4f81679 100644 --- a/docker/examples/docker-compose-uiproxy.yml +++ b/docker/examples/docker-compose-uiproxy.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # It extends the default configuration from docker-compose.yml, hosting the diff --git a/docker/examples/docker-compose.yml b/docker/examples/docker-compose.yml index 1210bb8d593..bd358dfc494 100644 --- a/docker/examples/docker-compose.yml +++ b/docker/examples/docker-compose.yml @@ -3,7 +3,7 @@ # SPDX-License-Identifier: Apache-2.0 # -# This file uses the version 2 docker-compose file format, described here: +# This file uses the version 2 docker compose file format, described here: # https://docs.docker.com/compose/compose-file/#version-2 # # This runs the zipkin slim container, using docker-compose's default networking diff --git a/docker/test-images/zipkin-activemq/Dockerfile b/docker/test-images/zipkin-activemq/Dockerfile index 2e4ab7167f5..9f0a408b3b6 100644 --- a/docker/test-images/zipkin-activemq/Dockerfile +++ b/docker/test-images/zipkin-activemq/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch diff --git a/docker/test-images/zipkin-cassandra/Dockerfile b/docker/test-images/zipkin-cassandra/Dockerfile index f84a6bcd7ee..4d8d38c574d 100644 --- a/docker/test-images/zipkin-cassandra/Dockerfile +++ b/docker/test-images/zipkin-cassandra/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch diff --git a/docker/test-images/zipkin-cassandra/install.sh b/docker/test-images/zipkin-cassandra/install.sh index 60c8ef3e928..c1929d69014 100755 --- a/docker/test-images/zipkin-cassandra/install.sh +++ b/docker/test-images/zipkin-cassandra/install.sh @@ -60,7 +60,7 @@ cat > pom.xml <<-'EOF' EOF mvn -q --batch-mode -DoutputDirectory=lib \ -Dcassandra.version=${CASSANDRA_VERSION} \ - org.apache.maven.plugins:maven-dependency-plugin:3.6.1:copy-dependencies + org.apache.maven.plugins:maven-dependency-plugin:3.7.1:copy-dependencies rm pom.xml # Make sure you use relative paths in references like this, so that installation diff --git a/docker/test-images/zipkin-elasticsearch7/Dockerfile b/docker/test-images/zipkin-elasticsearch7/Dockerfile index 05a31019d47..89aede2d332 100644 --- a/docker/test-images/zipkin-elasticsearch7/Dockerfile +++ b/docker/test-images/zipkin-elasticsearch7/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch @@ -26,7 +26,7 @@ WORKDIR /install # Use latest 7.x version from https://www.elastic.co/downloads/past-releases#elasticsearch-no-jdk # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG elasticsearch7_version=7.17.21 +ARG elasticsearch7_version=7.17.23 # Download only the OSS distribution (lacks X-Pack) RUN \ @@ -41,7 +41,7 @@ COPY --from=scratch /config/ ./config/ # production -jre base layer used by zipkin and zipkin-slim. FROM ghcr.io/openzipkin/java:${java_version} as zipkin-elasticsearch7 LABEL org.opencontainers.image.description="Elasticsearch distribution on OpenJDK and Alpine Linux" -ARG elasticsearch7_version=7.17.21 +ARG elasticsearch7_version=7.17.23 LABEL elasticsearch-version=$elasticsearch7_version # The full license is also included in the image at /elasticsearch/LICENSE.txt. diff --git a/docker/test-images/zipkin-elasticsearch8/Dockerfile b/docker/test-images/zipkin-elasticsearch8/Dockerfile index fdd85f03dce..15b474717b4 100644 --- a/docker/test-images/zipkin-elasticsearch8/Dockerfile +++ b/docker/test-images/zipkin-elasticsearch8/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch @@ -26,7 +26,7 @@ WORKDIR /install # Use latest 8.x version from https://www.elastic.co/downloads/past-releases#elasticsearch # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG elasticsearch8_version=8.13.4 +ARG elasticsearch8_version=8.14.3 # Download only the OSS distribution (lacks X-Pack) RUN \ @@ -41,7 +41,7 @@ COPY --from=scratch /config/ ./config/ # production -jre base layer used by zipkin and zipkin-slim. FROM ghcr.io/openzipkin/java:${java_version} as zipkin-elasticsearch8 LABEL org.opencontainers.image.description="Elasticsearch distribution on OpenJDK and Alpine Linux" -ARG elasticsearch8_version=8.13.4 +ARG elasticsearch8_version=8.14.3 LABEL elasticsearch-version=$elasticsearch8_version # The full license is also included in the image at /elasticsearch/LICENSE.txt. diff --git a/docker/test-images/zipkin-eureka/Dockerfile b/docker/test-images/zipkin-eureka/Dockerfile index 5de7caee548..288d54c7823 100644 --- a/docker/test-images/zipkin-eureka/Dockerfile +++ b/docker/test-images/zipkin-eureka/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openeureka/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch diff --git a/docker/test-images/zipkin-eureka/pom.xml b/docker/test-images/zipkin-eureka/pom.xml index cdca7274bbf..93725d32fa0 100644 --- a/docker/test-images/zipkin-eureka/pom.xml +++ b/docker/test-images/zipkin-eureka/pom.xml @@ -29,7 +29,7 @@ org.springframework.boot spring-boot-dependencies - 3.2.6 + 3.3.2 pom import @@ -37,7 +37,7 @@ com.google.guava guava - 33.1.0-jre + 33.2.1-jre com.thoughtworks.xstream @@ -56,7 +56,7 @@ org.springframework.cloud spring-cloud-starter-netflix-eureka-server - 4.1.1 + 4.1.3 @@ -73,7 +73,7 @@ com.amazon.ion ion-java - 1.11.4 + 1.11.9 diff --git a/docker/test-images/zipkin-kafka/Dockerfile b/docker/test-images/zipkin-kafka/Dockerfile index 2d40dc763a8..6fe9777381a 100644 --- a/docker/test-images/zipkin-kafka/Dockerfile +++ b/docker/test-images/zipkin-kafka/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch @@ -25,7 +25,7 @@ FROM ghcr.io/openzipkin/java:${java_version} as install # # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG kafka_version=3.7.0 +ARG kafka_version=3.8.0 ENV KAFKA_VERSION=$kafka_version # Note: Scala 2.13+ supports JRE 14 ARG scala_version=2.13 @@ -38,7 +38,7 @@ RUN /tmp/install.sh && rm /tmp/install.sh # Share the same base image to reduce layers used in testing FROM ghcr.io/openzipkin/java:${java_version}-jre as zipkin-kafka LABEL org.opencontainers.image.description="Kafka and ZooKeeper on OpenJDK and Alpine Linux" -ARG kafka_version=3.7.0 +ARG kafka_version=3.8.0 LABEL kafka-version=$kafka_version # Add HEALTHCHECK and ENTRYPOINT scripts into the default search path diff --git a/docker/test-images/zipkin-kafka/install.sh b/docker/test-images/zipkin-kafka/install.sh index aa36d08f004..59a8e3a6cf5 100755 --- a/docker/test-images/zipkin-kafka/install.sh +++ b/docker/test-images/zipkin-kafka/install.sh @@ -43,7 +43,7 @@ cat > pom.xml <<-'EOF' EOF mvn -q --batch-mode -DoutputDirectory=lib \ -Dscala.version=${SCALA_VERSION} -Dkafka.version=${KAFKA_VERSION} \ - org.apache.maven.plugins:maven-dependency-plugin:3.6.1:copy-dependencies + org.apache.maven.plugins:maven-dependency-plugin:3.7.1:copy-dependencies rm pom.xml # Make sure you use relative paths in references like this, so that installation diff --git a/docker/test-images/zipkin-mysql/Dockerfile b/docker/test-images/zipkin-mysql/Dockerfile index 8403b545f8d..c2cb12d4a95 100644 --- a/docker/test-images/zipkin-mysql/Dockerfile +++ b/docker/test-images/zipkin-mysql/Dockerfile @@ -6,10 +6,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/alpine # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG alpine_version=3.20.0 +ARG alpine_version=3.20.2 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch @@ -28,7 +28,7 @@ HEALTHCHECK --interval=1s --start-period=30s --timeout=5s CMD ["docker-healthche ENTRYPOINT ["start-mysql"] # Use latest from https://pkgs.alpinelinux.org/packages?name=mysql (without the -r[0-9]) -ARG mysql_version=10.11.8 +ARG mysql_version=11.4.2 LABEL mysql-version=$mysql_version ENV MYSQL_VERSION=$mysql_version diff --git a/docker/test-images/zipkin-opensearch2/Dockerfile b/docker/test-images/zipkin-opensearch2/Dockerfile index 7669171a0e2..95059a1e06d 100644 --- a/docker/test-images/zipkin-opensearch2/Dockerfile +++ b/docker/test-images/zipkin-opensearch2/Dockerfile @@ -8,10 +8,10 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch @@ -26,7 +26,7 @@ WORKDIR /install # Use latest 2.x version from https://opensearch.org/downloads.html # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG opensearch2_version=2.14.0 +ARG opensearch2_version=2.15.0 # Download only the OSS distribution (lacks X-Pack) RUN \ @@ -41,7 +41,7 @@ COPY --from=scratch /config/ ./config/ # production -jre base layer used by zipkin and zipkin-slim. FROM ghcr.io/openzipkin/java:${java_version} as zipkin-opensearch2 LABEL org.opencontainers.image.description="OpenSearch distribution on OpenJDK and Alpine Linux" -ARG opensearch2_version=2.14.0 +ARG opensearch2_version=2.15.0 LABEL opensearch-version=$opensearch2_version # The full license is also included in the image at /opensearch/LICENSE.txt. diff --git a/docker/test-images/zipkin-rabbitmq/Dockerfile b/docker/test-images/zipkin-rabbitmq/Dockerfile index 71d7e66ea7b..26ebfc6a60a 100644 --- a/docker/test-images/zipkin-rabbitmq/Dockerfile +++ b/docker/test-images/zipkin-rabbitmq/Dockerfile @@ -4,10 +4,10 @@ # # Use latest from https://hub.docker.com/_/rabbitmq/tags?page=1&name=alpine -ARG rabbitmq_version=3.13.2 +ARG rabbitmq_version=3.13.6 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch diff --git a/docker/test-images/zipkin-ui/Dockerfile b/docker/test-images/zipkin-ui/Dockerfile index 9c03242bc39..181b7cf45cb 100644 --- a/docker/test-images/zipkin-ui/Dockerfile +++ b/docker/test-images/zipkin-ui/Dockerfile @@ -6,17 +6,17 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/alpine # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG alpine_version=3.20.0 +ARG alpine_version=3.20.2 # java_version is used during the installation process to build or download the zipkin-lens jar. # # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch @@ -52,7 +52,7 @@ RUN if [ "${RELEASE_FROM_MAVEN_BUILD}" == "false" ]; then /build-bin/maybe_insta FROM ghcr.io/openzipkin/alpine:$alpine_version as zipkin-ui LABEL org.opencontainers.image.description="NGINX on Alpine Linux hosting the Zipkin UI with Zipkin API proxy_pass" # Use latest from https://pkgs.alpinelinux.org/packages?name=nginx -ARG nginx_version=1.26.0 +ARG nginx_version=1.26.1 LABEL nginx-version=$nginx_version ENV ZIPKIN_BASE_URL=http://zipkin:9411 diff --git a/docker/test-images/zipkin-uiproxy/Dockerfile b/docker/test-images/zipkin-uiproxy/Dockerfile index 1b8f34d73f9..072fc4d055c 100644 --- a/docker/test-images/zipkin-uiproxy/Dockerfile +++ b/docker/test-images/zipkin-uiproxy/Dockerfile @@ -6,17 +6,17 @@ # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/alpine # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG alpine_version=3.20.0 +ARG alpine_version=3.20.2 # java_version is used during the installation process to build or download the zipkin-lens jar. # # Use latest version here: https://github.com/orgs/openzipkin/packages/container/package/java # This is defined in many places because Docker has no "env" script functionality unless you use # docker-compose: When updating, update everywhere. -ARG java_version=21.0.3_p9 +ARG java_version=21.0.4_p7 # We copy files from the context into a scratch container first to avoid a problem where docker and -# docker-compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. +# docker compose don't share layer hashes https://github.com/docker/compose/issues/883 normally. # COPY --from= works around the issue. FROM scratch as scratch @@ -28,7 +28,7 @@ COPY docker/test-images/zipkin-uiproxy/nginx.conf /conf.d/zipkin.conf.template FROM ghcr.io/openzipkin/alpine:$alpine_version as zipkin-uiproxy LABEL org.opencontainers.image.description="NGINX on Alpine Linux proxying the Zipkin UI with proxy_pass" # Use latest from https://pkgs.alpinelinux.org/packages?name=nginx -ARG nginx_version=1.26.0 +ARG nginx_version=1.26.1 LABEL nginx-version=$nginx_version ENV ZIPKIN_UI_BASEPATH=/zipkin diff --git a/mvnw b/mvnw index 8d937f4c14f..5e9618cac26 100755 --- a/mvnw +++ b/mvnw @@ -19,7 +19,7 @@ # ---------------------------------------------------------------------------- # ---------------------------------------------------------------------------- -# Apache Maven Wrapper startup batch script, version 3.2.0 +# Apache Maven Wrapper startup batch script, version 3.3.2 # # Required ENV vars: # ------------------ @@ -33,75 +33,84 @@ # MAVEN_SKIP_RC - flag to disable loading of mavenrc files # ---------------------------------------------------------------------------- -if [ -z "$MAVEN_SKIP_RC" ] ; then +if [ -z "$MAVEN_SKIP_RC" ]; then - if [ -f /usr/local/etc/mavenrc ] ; then + if [ -f /usr/local/etc/mavenrc ]; then . /usr/local/etc/mavenrc fi - if [ -f /etc/mavenrc ] ; then + if [ -f /etc/mavenrc ]; then . /etc/mavenrc fi - if [ -f "$HOME/.mavenrc" ] ; then + if [ -f "$HOME/.mavenrc" ]; then . "$HOME/.mavenrc" fi fi # OS specific support. $var _must_ be set to either true or false. -cygwin=false; -darwin=false; +cygwin=false +darwin=false mingw=false case "$(uname)" in - CYGWIN*) cygwin=true ;; - MINGW*) mingw=true;; - Darwin*) darwin=true - # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home - # See https://developer.apple.com/library/mac/qa/qa1170/_index.html - if [ -z "$JAVA_HOME" ]; then - if [ -x "/usr/libexec/java_home" ]; then - JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME - else - JAVA_HOME="/Library/Java/Home"; export JAVA_HOME - fi +CYGWIN*) cygwin=true ;; +MINGW*) mingw=true ;; +Darwin*) + darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)" + export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home" + export JAVA_HOME fi - ;; + fi + ;; esac -if [ -z "$JAVA_HOME" ] ; then - if [ -r /etc/gentoo-release ] ; then +if [ -z "$JAVA_HOME" ]; then + if [ -r /etc/gentoo-release ]; then JAVA_HOME=$(java-config --jre-home) fi fi # For Cygwin, ensure paths are in UNIX format before anything is touched -if $cygwin ; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --unix "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +if $cygwin; then + [ -n "$JAVA_HOME" ] \ + && JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] \ + && CLASSPATH=$(cygpath --path --unix "$CLASSPATH") fi # For Mingw, ensure paths are in UNIX format before anything is touched -if $mingw ; then - [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && - JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +if $mingw; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] \ + && JAVA_HOME="$( + cd "$JAVA_HOME" || ( + echo "cannot cd into $JAVA_HOME." >&2 + exit 1 + ) + pwd + )" fi if [ -z "$JAVA_HOME" ]; then javaExecutable="$(which javac)" - if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + if [ -n "$javaExecutable" ] && ! [ "$(expr "$javaExecutable" : '\([^ ]*\)')" = "no" ]; then # readlink(1) is not available as standard on Solaris 10. readLink=$(which readlink) if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then - if $darwin ; then - javaHome="$(dirname "\"$javaExecutable\"")" - javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + if $darwin; then + javaHome="$(dirname "$javaExecutable")" + javaExecutable="$(cd "$javaHome" && pwd -P)/javac" else - javaExecutable="$(readlink -f "\"$javaExecutable\"")" + javaExecutable="$(readlink -f "$javaExecutable")" fi - javaHome="$(dirname "\"$javaExecutable\"")" + javaHome="$(dirname "$javaExecutable")" javaHome=$(expr "$javaHome" : '\(.*\)/bin') JAVA_HOME="$javaHome" export JAVA_HOME @@ -109,52 +118,60 @@ if [ -z "$JAVA_HOME" ]; then fi fi -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - if [ -x "$JAVA_HOME/jre/sh/java" ] ; then +if [ -z "$JAVACMD" ]; then + if [ -n "$JAVA_HOME" ]; then + if [ -x "$JAVA_HOME/jre/sh/java" ]; then # IBM's JDK on AIX uses strange locations for the executables JAVACMD="$JAVA_HOME/jre/sh/java" else JAVACMD="$JAVA_HOME/bin/java" fi else - JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + JAVACMD="$( + \unset -f command 2>/dev/null + \command -v java + )" fi fi -if [ ! -x "$JAVACMD" ] ; then +if [ ! -x "$JAVACMD" ]; then echo "Error: JAVA_HOME is not defined correctly." >&2 echo " We cannot execute $JAVACMD" >&2 exit 1 fi -if [ -z "$JAVA_HOME" ] ; then - echo "Warning: JAVA_HOME environment variable is not set." +if [ -z "$JAVA_HOME" ]; then + echo "Warning: JAVA_HOME environment variable is not set." >&2 fi # traverses directory structure from process work directory to filesystem root # first directory with .mvn subdirectory is considered project base directory find_maven_basedir() { - if [ -z "$1" ] - then - echo "Path not specified to find_maven_basedir" + if [ -z "$1" ]; then + echo "Path not specified to find_maven_basedir" >&2 return 1 fi basedir="$1" wdir="$1" - while [ "$wdir" != '/' ] ; do - if [ -d "$wdir"/.mvn ] ; then + while [ "$wdir" != '/' ]; do + if [ -d "$wdir"/.mvn ]; then basedir=$wdir break fi # workaround for JBEAP-8937 (on Solaris 10/Sparc) if [ -d "${wdir}" ]; then - wdir=$(cd "$wdir/.." || exit 1; pwd) + wdir=$( + cd "$wdir/.." || exit 1 + pwd + ) fi # end of workaround done - printf '%s' "$(cd "$basedir" || exit 1; pwd)" + printf '%s' "$( + cd "$basedir" || exit 1 + pwd + )" } # concatenates all lines of a file @@ -165,7 +182,7 @@ concat_lines() { # enabled. Otherwise, we may read lines that are delimited with # \r\n and produce $'-Xarg\r' rather than -Xarg due to word # splitting rules. - tr -s '\r\n' ' ' < "$1" + tr -s '\r\n' ' ' <"$1" fi } @@ -177,10 +194,11 @@ log() { BASE_DIR=$(find_maven_basedir "$(dirname "$0")") if [ -z "$BASE_DIR" ]; then - exit 1; + exit 1 fi -MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +export MAVEN_PROJECTBASEDIR log "$MAVEN_PROJECTBASEDIR" ########################################################################################## @@ -189,63 +207,66 @@ log "$MAVEN_PROJECTBASEDIR" ########################################################################################## wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" if [ -r "$wrapperJarPath" ]; then - log "Found $wrapperJarPath" + log "Found $wrapperJarPath" else - log "Couldn't find $wrapperJarPath, downloading it ..." + log "Couldn't find $wrapperJarPath, downloading it ..." - if [ -n "$MVNW_REPOURL" ]; then - wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in wrapperUrl) + wrapperUrl="$safeValue" + break + ;; + esac + done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget >/dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" else - wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" fi - while IFS="=" read -r key value; do - # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) - safeValue=$(echo "$value" | tr -d '\r') - case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; - esac - done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" - log "Downloading from: $wrapperUrl" - + elif command -v curl >/dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac if $cygwin; then - wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") fi - - if command -v wget > /dev/null; then - log "Found wget ... using wget" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - else - wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" - fi - elif command -v curl > /dev/null; then - log "Found curl ... using curl" - [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" - if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then - curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - else - curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" - fi - else - log "Falling back to using Java to download" - javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" - javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" - # For Cygwin, switch paths to Windows format before running javac - if $cygwin; then - javaSource=$(cygpath --path --windows "$javaSource") - javaClass=$(cygpath --path --windows "$javaClass") - fi - if [ -e "$javaSource" ]; then - if [ ! -e "$javaClass" ]; then - log " - Compiling MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/javac" "$javaSource") - fi - if [ -e "$javaClass" ]; then - log " - Running MavenWrapperDownloader.java ..." - ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" - fi - fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi fi + fi fi ########################################################################################## # End of extension @@ -254,22 +275,25 @@ fi # If specified, validate the SHA-256 sum of the Maven wrapper jar file wrapperSha256Sum="" while IFS="=" read -r key value; do - case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + case "$key" in wrapperSha256Sum) + wrapperSha256Sum=$value + break + ;; esac -done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +done <"$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" if [ -n "$wrapperSha256Sum" ]; then wrapperSha256Result=false - if command -v sha256sum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + if command -v sha256sum >/dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c >/dev/null 2>&1; then wrapperSha256Result=true fi - elif command -v shasum > /dev/null; then - if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + elif command -v shasum >/dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c >/dev/null 2>&1; then wrapperSha256Result=true fi else - echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." - echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2 + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." >&2 exit 1 fi if [ $wrapperSha256Result = false ]; then @@ -284,12 +308,12 @@ MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" # For Cygwin, switch paths to Windows format before running java if $cygwin; then - [ -n "$JAVA_HOME" ] && - JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") - [ -n "$CLASSPATH" ] && - CLASSPATH=$(cygpath --path --windows "$CLASSPATH") - [ -n "$MAVEN_PROJECTBASEDIR" ] && - MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") + [ -n "$JAVA_HOME" ] \ + && JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] \ + && CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] \ + && MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") fi # Provide a "standardized" way to retrieve the CLI args that will diff --git a/mvnw.cmd b/mvnw.cmd index f80fbad3e76..1204076a90a 100644 --- a/mvnw.cmd +++ b/mvnw.cmd @@ -18,7 +18,7 @@ @REM ---------------------------------------------------------------------------- @REM ---------------------------------------------------------------------------- -@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM Apache Maven Wrapper startup batch script, version 3.3.2 @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @@ -59,22 +59,22 @@ set ERROR_CODE=0 @REM ==== START VALIDATION ==== if not "%JAVA_HOME%" == "" goto OkJHome -echo. +echo. >&2 echo Error: JAVA_HOME not found in your environment. >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 -echo. +echo. >&2 goto error :OkJHome if exist "%JAVA_HOME%\bin\java.exe" goto init -echo. +echo. >&2 echo Error: JAVA_HOME is set to an invalid directory. >&2 echo JAVA_HOME = "%JAVA_HOME%" >&2 echo Please set the JAVA_HOME variable in your environment to match the >&2 echo location of your Java installation. >&2 -echo. +echo. >&2 goto error @REM ==== END VALIDATION ==== @@ -119,7 +119,7 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain -set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B @@ -133,7 +133,7 @@ if exist %WRAPPER_JAR% ( ) ) else ( if not "%MVNW_REPOURL%" == "" ( - SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.3.2/maven-wrapper-3.3.2.jar" ) if "%MVNW_VERBOSE%" == "true" ( echo Couldn't find %WRAPPER_JAR%, downloading it ... @@ -160,11 +160,12 @@ FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapp ) IF NOT %WRAPPER_SHA_256_SUM%=="" ( powershell -Command "&{"^ + "Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash;"^ "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ - " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ - " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ - " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " Write-Error 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Error 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Error 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ " exit 1;"^ "}"^ "}" diff --git a/pom.xml b/pom.xml index f439c8f6d8b..94cd80381c3 100755 --- a/pom.xml +++ b/pom.xml @@ -80,7 +80,7 @@ 5.12.0 3.25.3 4.2.1 - 1.19.8 + 1.20.1 4.12.0 5.6.0 @@ -98,11 +98,11 @@ 5.1.9 3.13.0 - 3.6.1 + 3.7.1 3.1.2 3.4.1 - 3.4.0 + 3.4.1 3.1.2 3.6.3 3.4.1 diff --git a/zipkin-collector/activemq/src/test/java/zipkin2/collector/activemq/ActiveMQExtension.java b/zipkin-collector/activemq/src/test/java/zipkin2/collector/activemq/ActiveMQExtension.java index 6d8cbcfe5f0..cfaae51d48d 100644 --- a/zipkin-collector/activemq/src/test/java/zipkin2/collector/activemq/ActiveMQExtension.java +++ b/zipkin-collector/activemq/src/test/java/zipkin2/collector/activemq/ActiveMQExtension.java @@ -54,7 +54,7 @@ String brokerURL() { // mostly waiting for https://github.com/testcontainers/testcontainers-java/issues/3537 static final class ActiveMQContainer extends GenericContainer { ActiveMQContainer() { - super(parse("ghcr.io/openzipkin/zipkin-activemq:3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-activemq:3.4.0")); withExposedPorts(ACTIVEMQ_PORT); waitStrategy = Wait.forListeningPorts(ACTIVEMQ_PORT); withStartupTimeout(Duration.ofSeconds(60)); diff --git a/zipkin-collector/kafka/src/test/java/zipkin2/collector/kafka/KafkaExtension.java b/zipkin-collector/kafka/src/test/java/zipkin2/collector/kafka/KafkaExtension.java index c597e005d68..0bb18f50e7f 100644 --- a/zipkin-collector/kafka/src/test/java/zipkin2/collector/kafka/KafkaExtension.java +++ b/zipkin-collector/kafka/src/test/java/zipkin2/collector/kafka/KafkaExtension.java @@ -83,7 +83,7 @@ KafkaCollector.Builder newCollectorBuilder(String topic, int streams) { // mostly waiting for https://github.com/testcontainers/testcontainers-java/issues/3537 static final class KafkaContainer extends GenericContainer { KafkaContainer() { - super(parse("ghcr.io/openzipkin/zipkin-kafka:3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-kafka:3.4.0")); waitStrategy = Wait.forHealthcheck(); // 19092 is for connections from the Docker host and needs to be used as a fixed port. // TODO: someone who knows Kafka well, make ^^ comment better! diff --git a/zipkin-collector/rabbitmq/src/test/java/zipkin2/collector/rabbitmq/RabbitMQExtension.java b/zipkin-collector/rabbitmq/src/test/java/zipkin2/collector/rabbitmq/RabbitMQExtension.java index d71412f372e..dd338d09e4d 100644 --- a/zipkin-collector/rabbitmq/src/test/java/zipkin2/collector/rabbitmq/RabbitMQExtension.java +++ b/zipkin-collector/rabbitmq/src/test/java/zipkin2/collector/rabbitmq/RabbitMQExtension.java @@ -74,7 +74,7 @@ int port() { // mostly waiting for https://github.com/testcontainers/testcontainers-java/issues/3537 static final class RabbitMQContainer extends GenericContainer { RabbitMQContainer() { - super(parse("ghcr.io/openzipkin/zipkin-rabbitmq:3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-rabbitmq:3.4.0")); withExposedPorts(RABBIT_PORT); waitStrategy = Wait.forLogMessage(".*Server startup complete.*", 1); withStartupTimeout(Duration.ofSeconds(60)); diff --git a/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java b/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java index 19fb6326772..5b4e0dba105 100644 --- a/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java +++ b/zipkin-server/src/test/java/zipkin2/server/internal/eureka/BaseITZipkinEureka.java @@ -139,7 +139,7 @@ static final class EurekaContainer extends GenericContainer { static final int EUREKA_PORT = 8761; EurekaContainer(Map env) { - super(parse("ghcr.io/openzipkin/zipkin-eureka:3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-eureka:3.4.0")); withEnv(env); withExposedPorts(EUREKA_PORT); waitStrategy = Wait.forHealthcheck(); diff --git a/zipkin-storage/cassandra/src/test/java/zipkin2/storage/cassandra/CassandraContainer.java b/zipkin-storage/cassandra/src/test/java/zipkin2/storage/cassandra/CassandraContainer.java index 3b11c9a6b1a..ae6acd3e52b 100644 --- a/zipkin-storage/cassandra/src/test/java/zipkin2/storage/cassandra/CassandraContainer.java +++ b/zipkin-storage/cassandra/src/test/java/zipkin2/storage/cassandra/CassandraContainer.java @@ -33,7 +33,7 @@ class CassandraContainer extends GenericContainer { CqlSession globalSession; CassandraContainer() { - super(parse("ghcr.io/openzipkin/zipkin-cassandra:3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-cassandra:3.4.0")); addExposedPort(9042); waitStrategy = Wait.forHealthcheck(); withLogConsumer(new Slf4jLogConsumer(LOGGER)); diff --git a/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/ElasticsearchExtension.java b/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/ElasticsearchExtension.java index a724f2776da..fdae33a7aa2 100644 --- a/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/ElasticsearchExtension.java +++ b/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/ElasticsearchExtension.java @@ -22,7 +22,7 @@ class ElasticsearchExtension extends ElasticsearchBaseExtension { // mostly waiting for https://github.com/testcontainers/testcontainers-java/issues/3537 static final class ElasticsearchContainer extends GenericContainer { ElasticsearchContainer(int majorVersion) { - super(parse("ghcr.io/openzipkin/zipkin-elasticsearch" + majorVersion + ":3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-elasticsearch" + majorVersion + ":3.4.0")); addExposedPort(9200); waitStrategy = Wait.forHealthcheck(); withLogConsumer(new Slf4jLogConsumer(LOGGER)); diff --git a/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/OpenSearchExtension.java b/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/OpenSearchExtension.java index 6066ef695ff..d6bbba92d29 100644 --- a/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/OpenSearchExtension.java +++ b/zipkin-storage/elasticsearch/src/test/java/zipkin2/elasticsearch/integration/OpenSearchExtension.java @@ -22,7 +22,7 @@ class OpenSearchExtension extends ElasticsearchBaseExtension { // mostly waiting for https://github.com/testcontainers/testcontainers-java/issues/3537 static final class OpenSearchContainer extends GenericContainer { OpenSearchContainer(int majorVersion) { - super(parse("ghcr.io/openzipkin/zipkin-opensearch" + majorVersion + ":3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-opensearch" + majorVersion + ":3.4.0")); addExposedPort(9200); waitStrategy = Wait.forHealthcheck(); withLogConsumer(new Slf4jLogConsumer(LOGGER)); diff --git a/zipkin-storage/mysql-v1/src/test/java/zipkin2/storage/mysql/v1/MySQLExtension.java b/zipkin-storage/mysql-v1/src/test/java/zipkin2/storage/mysql/v1/MySQLExtension.java index 5789e7886ed..39237e34a50 100644 --- a/zipkin-storage/mysql-v1/src/test/java/zipkin2/storage/mysql/v1/MySQLExtension.java +++ b/zipkin-storage/mysql-v1/src/test/java/zipkin2/storage/mysql/v1/MySQLExtension.java @@ -103,7 +103,7 @@ int port() { // mostly waiting for https://github.com/testcontainers/testcontainers-java/issues/3537 static final class MySQLContainer extends GenericContainer { MySQLContainer() { - super(parse("ghcr.io/openzipkin/zipkin-mysql:3.3.1")); + super(parse("ghcr.io/openzipkin/zipkin-mysql:3.4.0")); addExposedPort(3306); waitStrategy = Wait.forHealthcheck(); withLogConsumer(new Slf4jLogConsumer(LOGGER));