Skip to content

Coffeine Cache does not expire #34676

Open
@nirue

Description

Describe the bug

Cache does not expire, if .withBackOff(Duration.ofSeconds(30), Duration.ofMinutes(1)) is used after the retry command. Without it, everything works as expected.

Expected behavior

Cache shoud be expired after 5s. The rest client response should replace the old value.

Actual behavior

Cache value is not expired after 5s. Still getting the old value.

How to Reproduce?

application.properties

quarkus.cache.caffeine.expire-after-access=5S

@Path("/somePath")
@RegisterRestClient
public interface RestClient {

    @CacheResult(cacheName = "foo-query")
    @POST
    Uni<FooModel> sendQuery(String query);
}
@ApplicationScoped
public class Application {
    @RestClient
    RestClient restClient;

    void foo() {
        restClient.sendQuery("some query")
            //.onFailure().retry().indefinitely() // *** works fine ***
            .onFailure().retry().withBackOff(Duration.ofSeconds(30), Duration.ofMinutes(1)).indefinitely()
            .subscribe()
            .with(i -> {
              System.out.println(i);
            });
    }
}

Output of uname -a or ver

Linux work 5.19.0-46-generic #47~22.04.1-Ubuntu

Output of java -version

20.0.1 2023-04-18

GraalVM version (if different from Java)

No response

Quarkus version or git rev

3.2.0.Final

Build tool (ie. output of mvnw --version or gradlew --version)

3.9.1

Additional information

No response

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