I have multiple services running with Spring Boot 2.7 and I am starting to create new services with Spring Boot 3.0. And I have the same problem as in this other question but neither the accepted solution nor the attached migration guide has worked. The behaviour during the requests is the next:
Service (2.7 - TraceId-X) -> Service (3.0 - TraceId-X) => OK
Service (3.0 - TraceId-X) -> Service (3.0 - TraceId-Y) => TraceId-X lost
Service (3.0 - TraceId-X) -> Service (2.7 - TraceId-Y) => TraceId-X lost
In short, when the request starts or goes through a service with version 3.0 the traceId
is lost (it has been replaced by a new one).
application.yml (2.7):
spring.sleuth.propagation.type: w3c,b3
spring.sleuth.traceId128: true
spring.sleuth.supportsJoin: false
application.yml (3.0):
logging.pattern.level: "%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"
The versions of the main dependencies are: Services with 2.7 version:
- spring-boot: 2.7.7
- spring-cloud-starter-sleuth: 3.1.5
Services with 3.0 version:
- spring-boot: 3.0.6
- micrometer-tracing: 1.0.4
- micrometer-tracing-bridge-brave: 1.0.4
I can understand that there are integration problems between services of different versions, but there are also integration problems between Spring 3.0 services. What could I be missing in the configuration?