Skip to content

Commit

Permalink
updates depedencies to latest versions, notably fixing Eureka (#3737)
Browse files Browse the repository at this point in the history
This fixes Eureka status page registration while updating all
depedencies to the latest versions. The most needed update was to
armeria 1.27.2.

Signed-off-by: Adrian Cole <adrian@tetrate.io>
  • Loading branch information
codefromthecrypt authored Feb 26, 2024
1 parent a163303 commit c65ce5c
Show file tree
Hide file tree
Showing 18 changed files with 59 additions and 54 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/create_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
distribution: 'zulu' # zulu as it supports a wide version range
java-version: '17' # earliest LTS supported by Spring Boot 3
- name: Cache local Maven repository
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-jdk-17-maven-${{ hashFiles('**/pom.xml') }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,13 @@ jobs:
distribution: 'zulu' # zulu as it supports a wide version range
java-version: '17' # earliest LTS supported by Spring Boot 3
- name: Cache local Maven repository
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-jdk-17-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-jdk-17-maven-
- name: Cache NPM Packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.npm
# yamllint disable-line rule:line-length
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ jobs:
distribution: 'zulu' # zulu as it supports a wide version range
java-version: ${{ matrix.java_version }}
- name: Cache local Maven repository
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
# yamllint disable-line rule:line-length
key: ${{ runner.os }}-jdk-${{ matrix.java_version }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-jdk-${{ matrix.java_version }}-maven-
- name: Cache NPM Packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.npm
# yamllint disable-line rule:line-length
Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
distribution: 'zulu' # zulu as it supports a wide version range
java-version: '21' # Most recent LTS
- name: Cache local Maven repository
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
# yamllint disable-line rule:line-length
Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test_readme.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
matrix:
include: # Not ubuntu as already tested as a part of the docker job
- name: macos
os: macos-12
os: macos-13
- name: windows
os: windows-2022
steps:
Expand All @@ -46,13 +46,13 @@ jobs:
distribution: 'zulu' # zulu as it supports a wide version range
java-version: '21' # Most recent LTS
- name: Cache NPM Packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.npm
# yamllint disable-line rule:line-length
key: ${{ runner.os }}-npm-packages-${{ hashFiles('zipkin-lens/package-lock.json') }}
- name: Cache local Maven repository
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-jdk-21-maven-${{ hashFiles('**/pom.xml') }}
Expand Down Expand Up @@ -87,13 +87,13 @@ jobs:
# via forks, and login session ends up in ~/.docker. This is ok because
# we publish DOCKER_PARENT_IMAGE to ghcr.io, hence local to the runner.
- name: Cache NPM Packages
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.npm
# yamllint disable-line rule:line-length
key: ${{ runner.os }}-npm-packages-${{ hashFiles('zipkin-lens/package-lock.json') }}
- name: Cache local Maven repository
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-jdk-21-maven-${{ hashFiles('**/pom.xml') }}
Expand Down
4 changes: 2 additions & 2 deletions docker/test-images/zipkin-cassandra/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ FROM ghcr.io/openzipkin/java:${java_version} as install
# Use latest stable version: https://cassandra.apache.org/download/
# This is defined in many places because Docker has no "env" script functionality unless you use
# docker-compose: When updating, update everywhere.
ARG cassandra_version=4.1.3
ARG cassandra_version=4.1.4
ENV CASSANDRA_VERSION=$cassandra_version
WORKDIR /install

Expand All @@ -44,7 +44,7 @@ RUN /tmp/install.sh && rm /tmp/install.sh

FROM ghcr.io/openzipkin/java:${java_version}-jre as zipkin-cassandra
LABEL org.opencontainers.image.description="Cassandra on OpenJDK and Alpine Linux with Zipkin keyspaces pre-installed"
ARG cassandra_version=4.1.3
ARG cassandra_version=4.1.4
LABEL cassandra-version=$cassandra_version
ENV CASSANDRA_VERSION=$cassandra_version

Expand Down
4 changes: 2 additions & 2 deletions docker/test-images/zipkin-elasticsearch7/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,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.17
ARG elasticsearch7_version=7.17.18

# Download only the OSS distribution (lacks X-Pack)
RUN \
Expand All @@ -50,7 +50,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.16
ARG elasticsearch7_version=7.17.18
LABEL elasticsearch-version=$elasticsearch7_version

# The full license is also included in the image at /elasticsearch/LICENSE.txt.
Expand Down
4 changes: 2 additions & 2 deletions docker/test-images/zipkin-elasticsearch8/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,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.12.1
ARG elasticsearch8_version=8.12.2

# Download only the OSS distribution (lacks X-Pack)
RUN \
Expand All @@ -50,7 +50,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.12.1
ARG elasticsearch8_version=8.12.2
LABEL elasticsearch-version=$elasticsearch8_version

# The full license is also included in the image at /elasticsearch/LICENSE.txt.
Expand Down
2 changes: 1 addition & 1 deletion docker/test-images/zipkin-eureka/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>3.2.2</version>
<version>3.2.3</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand Down
2 changes: 1 addition & 1 deletion docker/test-images/zipkin-rabbitmq/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#

# Use latest from https://hub.docker.com/_/rabbitmq/tags?page=1&name=alpine
ARG rabbitmq_version=3.12.12
ARG rabbitmq_version=3.13.0

# 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.
Expand Down
15 changes: 7 additions & 8 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -51,21 +51,20 @@

<!-- override to set exclusions per-project -->
<errorprone.args />
<errorprone.version>2.24.1</errorprone.version>
<errorprone.version>2.25.0</errorprone.version>

<zipkin-proto3.version>1.0.0</zipkin-proto3.version>

<!-- This allows you to test feature branches with jitpack -->
<armeria.groupId>com.linecorp.armeria</armeria.groupId>
<armeria.version>1.27.1</armeria.version>
<armeria.version>1.27.2</armeria.version>
<!-- Match Armeria version to avoid conflicts including running tests in the IDE -->
<netty.version>4.1.106.Final</netty.version>

<!-- It's easy for Jackson dependencies to get misaligned, so we manage it ourselves. -->
<jackson.version>2.16.1</jackson.version>

<java-driver.version>4.18.0</java-driver.version>
<micrometer.version>1.12.2</micrometer.version>
<micrometer.version>1.12.3</micrometer.version>

<!-- Used for Generated annotations -->
<javax-annotation-api.version>1.3.1</javax-annotation-api.version>
Expand All @@ -79,7 +78,7 @@
MariaDB has a friendlier license, LGPL, which is less scary in audits.
-->
<mariadb-java-client.version>3.3.2</mariadb-java-client.version>
<mariadb-java-client.version>3.3.3</mariadb-java-client.version>
<HikariCP.version>5.1.0</HikariCP.version>
<slf4j.version>2.0.12</slf4j.version>
<auto-value.version>1.10.4</auto-value.version>
Expand All @@ -90,11 +89,11 @@
<mockito.version>5.10.0</mockito.version>
<assertj.version>3.25.3</assertj.version>
<awaitility.version>4.2.0</awaitility.version>
<testcontainers.version>1.19.4</testcontainers.version>
<testcontainers.version>1.19.6</testcontainers.version>
<okhttp.version>4.12.0</okhttp.version>
<kryo.version>5.6.0</kryo.version>
<!-- Only used for proto interop testing; wire-maven-plugin is usually behind latest. -->
<wire.version>4.9.6</wire.version>
<wire.version>4.9.7</wire.version>
<gson.version>2.10.1</gson.version>
<unpack-proto.directory>${project.build.directory}/test/proto</unpack-proto.directory>

Expand All @@ -115,7 +114,7 @@
<maven-javadoc-plugin.version>3.6.3</maven-javadoc-plugin.version>
<maven-jar-plugin.version>3.3.0</maven-jar-plugin.version>
<maven-release-plugin.version>3.0.1</maven-release-plugin.version>
<maven-shade-plugin.version>3.5.1</maven-shade-plugin.version>
<maven-shade-plugin.version>3.5.2</maven-shade-plugin.version>
<maven-source-plugin.version>3.3.0</maven-source-plugin.version>
<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
<nexus-staging-maven-plugin.version>1.6.13</nexus-staging-maven-plugin.version>
Expand Down
4 changes: 2 additions & 2 deletions zipkin-collector/scribe/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
</dependency>

<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-thrift0.18</artifactId>
<version>${armeria.version}</version>
</dependency>
Expand All @@ -55,7 +55,7 @@
</dependency>

<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-junit5</artifactId>
<version>${armeria.version}</version>
<scope>test</scope>
Expand Down
4 changes: 2 additions & 2 deletions zipkin-lens/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
<!-- Update occasionally based on LTS, but don't overrun what's in Alpine:
https://nodejs.org/en/download/
https://pkgs.alpinelinux.org/packages?name=nodejs&branch=edge -->
<node.version>20.11.0</node.version>
<exec-maven-plugin.version>3.1.1</exec-maven-plugin.version>
<node.version>20.11.1</node.version>
<exec-maven-plugin.version>3.2.0</exec-maven-plugin.version>
<frontend-maven-plugin.version>1.15.0</frontend-maven-plugin.version>
<maven-clean-plugin.version>3.3.2</maven-clean-plugin.version>
<maven-resources-plugin.version>3.3.1</maven-resources-plugin.version>
Expand Down
2 changes: 1 addition & 1 deletion zipkin-server/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ a valid v2 endpoint of the [Eureka REST API](https://github.com/Netflix/eureka/w
| `DISCOVERY_EUREKA_ENABLED` | N/A | `false` disables Eureka registration. Defaults to `true`. |
| `EUREKA_SERVICE_URL` | N/A | v2 endpoint of Eureka, e.g. `https://eureka-prod/eureka/v2`. No default |
| `EUREKA_APP_NAME` | .app | The application this instance registers to. Defaults to `zipkin` |
| `EUREKA_HOSTNAME` | .hostName | The instance `hostName` and `vipAddress`. Defaults to detect. |
| `EUREKA_HOSTNAME` | .hostName | The instance `hostName`. Defaults to detect. |
| `EUREKA_INSTANCE_ID` | .instanceId | Defaults to `${EUREKA_HOSTNAME}:${EUREKA_APP_NAME}:${QUERY_PORT}`. |

Example usage:
Expand Down
24 changes: 12 additions & 12 deletions zipkin-server/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@

<!-- Sometimes we need to override Armeria's Brave version -->
<brave.version>6.0.0</brave.version>
<zipkin-reporter.version>3.2.1</zipkin-reporter.version>
<log4j.version>2.21.1</log4j.version>
<zipkin-reporter.version>3.3.0</zipkin-reporter.version>
<log4j.version>2.23.0</log4j.version>
<proto.generatedSourceDirectory>${project.build.directory}/generated-test-sources/wire</proto.generatedSourceDirectory>
</properties>

Expand Down Expand Up @@ -133,12 +133,12 @@

<!-- More efficient, gRPC ready server with brave tracing built-in -->
<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-spring-boot3-autoconfigure</artifactId>
<version>${armeria.version}</version>
<exclusions>
<exclusion>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-logback</artifactId>
</exclusion>
<exclusion>
Expand All @@ -153,12 +153,12 @@
</exclusions>
</dependency>
<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-brave6</artifactId>
<version>${armeria.version}</version>
</dependency>
<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-grpc-protocol</artifactId>
<version>${armeria.version}</version>
</dependency>
Expand Down Expand Up @@ -202,7 +202,7 @@

<!-- Eureka service discovery -->
<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-eureka</artifactId>
<version>${armeria.version}</version>
</dependency>
Expand All @@ -216,7 +216,7 @@
<dependency>
<groupId>com.netflix.concurrency-limits</groupId>
<artifactId>concurrency-limits-core</artifactId>
<version>0.4.0</version>
<version>0.4.1</version>
</dependency>
<dependency>
<groupId>io.micrometer</groupId>
Expand Down Expand Up @@ -398,7 +398,7 @@
</dependency>

<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-junit5</artifactId>
<version>${armeria.version}</version>
<scope>test</scope>
Expand Down Expand Up @@ -490,7 +490,7 @@
<dependencies>
<!-- /actuator endpoints -->
<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-spring-boot3-actuator-autoconfigure</artifactId>
<version>${armeria.version}</version>
<optional>true</optional>
Expand Down Expand Up @@ -631,7 +631,7 @@
<excludes>
<!-- Actuator -->
<dependency>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-spring-boot3-actuator-autoconfigure</artifactId>
</dependency>
<dependency>
Expand Down Expand Up @@ -716,7 +716,7 @@
<artifactId>zipkin-collector-scribe</artifactId>
</dependency>
<exclude>
<groupId>${armeria.groupId}</groupId>
<groupId>com.linecorp.armeria</groupId>
<artifactId>armeria-thrift0.18</artifactId>
</exclude>
</excludes>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -106,16 +106,13 @@ public void setHostname(String hostname) {

EurekaUpdatingListenerBuilder toBuilder() {
EurekaUpdatingListenerBuilder result = EurekaUpdatingListener.builder(serviceUrl)
.healthCheckUrlPath("/health");
.homePageUrlPath("/zipkin")
.healthCheckUrlPath("/health")
.statusPageUrlPath("/info");
if (auth != null) result.auth(auth);
if (appName != null) result.appName(appName);
if (instanceId != null) result.instanceId(instanceId);
if (hostname != null) {
result.hostname(hostname);
// Armeria defaults the vipAddress incorrectly to include the port. This is redundant with
// the server port, so override it until we have a PR to fix that.
result.vipAddress(hostname);
}
if (hostname != null) result.hostname(hostname);
return result;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,15 @@ abstract class BaseITZipkinEureka {
// Make sure the vip address does not include the port!
assertThat(readString(json, "$.application.instance[0].vipAddress"))
.isEqualTo("localhost");

// Make sure URLs are fully resolved. Notably, the status page URL defaults to the /info
// endpoint, as that's the one chosen in spring-cloud-netflix.
assertThat(readString(json, "$.application.instance[0].homePageUrl"))
.isEqualTo("http://localhost:" + zipkinPort + "/zipkin");
assertThat(readString(json, "$.application.instance[0].statusPageUrl"))
.isEqualTo("http://localhost:" + zipkinPort + "/info");
assertThat(readString(json, "$.application.instance[0].healthCheckUrl"))
.isEqualTo("http://localhost:" + zipkinPort + "/health");
}

@Test @Order(2) void deregistersOnClose() {
Expand Down
2 changes: 1 addition & 1 deletion zipkin-storage/cassandra/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@
<dependency>
<groupId>com.github.jnr</groupId>
<artifactId>jnr-posix</artifactId>
<version>3.1.18</version>
<version>3.1.19</version>
</dependency>
</dependencies>
</project>
Loading

0 comments on commit c65ce5c

Please sign in to comment.