Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

updates depedencies to latest versions, notably fixing Eureka #3737

Merged
merged 2 commits into from
Feb 26, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
4 changes: 2 additions & 2 deletions docker/test-images/zipkin-eureka/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@
<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>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<artifactId>guava</artifactId>
<version>33.0.0-jre</version>
</dependency>
<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>
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I removed the overriding of the group ID as jitpack has been out of commission a while for things we compile

<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"))
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing eureka registration json tests!

.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
Loading
Loading