spring-cloud / spring-cloud/spring-cloud-consul

Spring Boot 3.1 Compatibility?

Open
#825 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

waiting-for-triage
Dominant language
Java
Stars
822
Forks
539
Avg merge
9h 31m
Merged PRs (30d)
7

Description

Describe the bug
Spring Cloud Version: 2022.0.3

I am using spring-cloud-starter-consul-discovery (via maven bom 2022.0.3) alongside with Spring Boot 3.1.1, but I'm getting the following error:

2023-07-17T14:26:52.454+01:00  WARN 83218 --- [           main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compositeCompatibilityVerifier' defined in class path resource [org/springframework/cloud/configuration/CompatibilityVerifierAutoConfiguration.class]: Failed to instantiate [org.springframework.cloud.configuration.CompositeCompatibilityVerifier]: Factory method 'compositeCompatibilityVerifier' threw exception with message: Spring Cloud/ Spring Boot version compatibility checks have failed: [[VerificationResult@1f6f0fe2 description = 'Spring Boot [3.1.1] is not compatible with this Spring Cloud release train', action = 'Change Spring Boot version to one of the following versions [3.0.x] .
You can find the latest Spring Boot versions here [https://spring.io/projects/spring-boot#learn]. 
If you want to learn more about the Spring Cloud Release train compatibility, you can visit this page [https://spring.io/projects/spring-cloud#overview] and check the [Release Trains] section.
If you want to disable this check, just set the property [spring.cloud.compatibility-verifier.enabled=false]']]

According to this blog post, Spring Cloud 2022.0.3 should be compatible with Spring Boot 3.1.x https://spring.io/blog/2023/05/25/spring-cloud-2022-0-3-aka-kilburn-is-available

I was looking at the dependency tree, seems that spring-cloud-starter-consul is fetching an older version of spring-cloud-commons, which isn't compatible with Spring Boot 3.1.x

image

https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-consul/4.0.2

https://github.com/spring-cloud/spring-cloud-commons/commit/a2cc42614c60de7b05100741d13fcf93f32c3849

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by inspecting the Maven dependency tree for spring-cloud-starter-consul and spring-cloud-commons, then read CompatibilityVerifierAutoConfiguration and CompositeCompatibilityVerifier from the reported failure. Reproduce the setup with Spring Boot 3.1.1 and Spring Cloud 2022.0.3; done means the supported dependency combination starts without the compatibility-verifier failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring-boot
Domain
backend, distributed-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.