Skip to content

Feign client duplicates "path" parameter after upgrading to Spring Boot 3.4.6 from 3.3.10 #35242

@kptfh

Description

@kptfh

After upgrading Spring Boot from 3.3.10 to 3.4.6 and Spring Cloud from 2023.0.5 to 2024.0.1 we face the following errors in Production logs related to Feign client

Caused by: feign.RetryableException: Connection refused executing POST http://SERVICE-NAME/Path/Path/last-session

It was difficult to find the rootcause because this bug was flaky and happened on 1-2 instances out of 40.
After investigation it turned out that in spring-beans-6.2.7 there was a breaking change in instantiating singleton beans.
In new version locks for singleton beans were omitted for some cases and it leads to inconsistent behaviour of the service. In our case it was caused that some Feign clients were declared with @lazy and were not instantiated on startup.

So now to fix this issue we need to add spring.locking.strict=true to all our services (more then 400) to eliminate this breaking change.
It's not clear for our company (Playtika) why it wasn't set by default!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions