Skip to content

Question: GraphQL calls are failing after upgrade to Spring boot 4 which include spring graphql 2.0.1 #1405

@flinden68

Description

@flinden68

We are using spring graphql for our graphql calls.
Everything works fine till I upgraded to spring boot 4.0.1.

in my gradle file I didn't change anything, but the latest spring graphql is pulled in.

For my test I switched from from testImplementation("org.springframework.graphql:spring-graphql-test") to testImplementation("org.springframework.boot:spring-boot-starter-graphql-test") as recommended in the spring boot 4.0 migration guide. https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-4.0-Migration-Guide

My test looks like this.

/*
 * Copyright 2015-2023 Ritense BV, the Netherlands.
 *
 * Licensed under EUPL, Version 1.2 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" basis,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package nl.nlportal.haalcentraal.hr.graphql

import nl.nlportal.commonground.authentication.WithBedrijfUser
import nl.nlportal.haalcentraal.hr.TestHelper
import nl.nlportal.haalcentraal.hr.client.HaalCentraalHrConfig
import okhttp3.mockwebserver.Dispatcher
import okhttp3.mockwebserver.MockResponse
import okhttp3.mockwebserver.MockWebServer
import okhttp3.mockwebserver.RecordedRequest
import org.junit.jupiter.api.AfterEach
import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.BeforeEach
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.TestInstance
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.boot.graphql.test.autoconfigure.tester.AutoConfigureHttpGraphQlTester
import org.springframework.boot.test.context.SpringBootTest
import org.springframework.boot.webtestclient.autoconfigure.AutoConfigureWebTestClient
import org.springframework.graphql.test.tester.HttpGraphQlTester
import org.springframework.graphql.test.tester.entity
import tools.jackson.databind.JsonNode

@SpringBootTest
@AutoConfigureHttpGraphQlTester
@AutoConfigureWebTestClient(timeout = "36000")
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
internal class HandelsregisterQueryIT(
    @Autowired private val httpGraphQlTester: HttpGraphQlTester,
    @Autowired private val haalCentraalClientConfig: HaalCentraalHrConfig,
) {
    lateinit var server: MockWebServer

    @BeforeEach
    internal fun setUp() {
        server = MockWebServer()
        setupMockServer()
        server.start()

        haalCentraalClientConfig.properties.url = server.url("/").toString()
        //httpGraphQlTester.mutate().webTestClient { webTestClient }.build()
    }

    @AfterEach
    internal fun tearDown() {
        server.shutdown()
    }

    @Test
    @WithBedrijfUser("90012768")
    fun getNaam() {
        val query =
            """
            query {
                getBedrijf {
                    naam
                }
            }
            """.trimIndent()

        val responseBody =
            httpGraphQlTester
                .document(query)
                .execute()
                //.errors()
                //.verify()
                .path("getBedrijf")
                .entity<JsonNode>()
                .get()

        assertEquals("Test bedrijf", responseBody.get("naam").textValue())
    }

    private fun setupMockServer() {
        val dispatcher: Dispatcher =
            object : Dispatcher() {
                @Throws(InterruptedException::class)
                override fun dispatch(request: RecordedRequest): MockResponse {
                    val response =
                        when (request.path?.substringBefore('?')) {
                            "/basisprofielen/90012768" -> TestHelper.mockResponseFromFile("/data/get-maatschappelijke-activiteiten.json")
                            else -> MockResponse().setResponseCode(404)
                        }
                    return response
                }
            }
        server.dispatcher = dispatcher
    }
}

When I debug the test. I will reach the breakpoints in my code, just before the return of the method with the querymapping.

But then I get an error in the console

2025-12-26T20:14:45.954+13:00  WARN 20425 --- [     parallel-2] reactor.core.Exceptions                  : throwIfFatal detected a jvm fatal exception, which is thrown and logged below:

java.lang.NoSuchMethodError: 'void graphql.ExecutionInput.cancel()'
	at org.springframework.graphql.execution.DefaultExecutionGraphQlService.lambda$execute$0(DefaultExecutionGraphQlService.java:99) ~[spring-graphql-2.0.1.jar:2.0.1]
	at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:48) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:166) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:80) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:80) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:80) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:159) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:109) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:300) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:338) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2093) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:278) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:278) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:278) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:278) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:278) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onComplete(FluxContextWrite.java:128) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2567) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:138) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$BaseFluxToMonoOperator.request(Operators.java:2063) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.request(FluxFilterFuseable.java:411) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.request(FluxMapFuseable.java:361) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:138) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:195) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2361) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onSubscribe(FluxOnErrorResume.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:118) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(FluxContextWrite.java:103) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onSubscribe(FluxMapFuseable.java:265) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onSubscribe(FluxFilterFuseable.java:305) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$BaseFluxToMonoOperator.onSubscribe(Operators.java:2047) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(FluxContextWrite.java:103) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:56) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:56) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:166) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:80) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:83) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:870) ~[reactor-core-3.8.1.jar:3.8.1]
	at org.springframework.security.test.context.support.ReactorContextTestExecutionListener$DelegateTestExecutionListener$SecuritySubContext.onNext(ReactorContextTestExecutionListener.java:120) ~[spring-security-test-7.0.2.jar:7.0.2]
	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:203) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:83) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:870) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMap$WeakScalarSubscription.request(FluxConcatMap.java:483) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2325) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:339) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:109) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeek$PeekSubscriber.request(FluxPeek.java:141) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMap$MapSubscriber.request(FluxMap.java:163) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2325) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:339) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:109) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2361) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2235) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:71) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:164) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:200) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:82) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:54) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:54) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:83) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:303) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:303) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:156) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:114) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:83) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:259) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:870) ~[reactor-core-3.8.1.jar:3.8.1]
	at org.springframework.security.test.context.support.ReactorContextTestExecutionListener$DelegateTestExecutionListener$SecuritySubContext.onNext(ReactorContextTestExecutionListener.java:120) ~[spring-security-test-7.0.2.jar:7.0.2]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:159) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:130) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.onNext(FluxFilterFuseable.java:119) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2565) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilterFuseable$FilterFuseableSubscriber.request(FluxFilterFuseable.java:191) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:172) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.request(MonoFlatMap.java:195) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2325) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:339) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:109) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2361) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2235) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:71) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:164) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:200) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:82) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:54) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:54) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:268) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:83) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:167) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:936) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:86) ~[reactor-core-3.8.1.jar:3.8.1]
	at org.springframework.security.test.context.support.ReactorContextTestExecutionListener$DelegateTestExecutionListener$SecuritySubContext.onComplete(ReactorContextTestExecutionListener.java:130) ~[spring-security-test-7.0.2.jar:7.0.2]
	at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2567) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2361) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2235) ~[reactor-core-3.8.1.jar:3.8.1]
	at org.springframework.security.test.context.support.ReactorContextTestExecutionListener$DelegateTestExecutionListener$SecuritySubContext.onSubscribe(ReactorContextTestExecutionListener.java:115) ~[spring-security-test-7.0.2.jar:7.0.2]
	at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:56) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Mono.subscribe(Mono.java:4569) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:83) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:103) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:167) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:852) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:614) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:594) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:471) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:278) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:357) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:375) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:200) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:82) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:54) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:166) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$BaseFluxToMonoOperator.completePossiblyEmpty(Operators.java:2093) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:135) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:167) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1862) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:354) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:373) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:203) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:75) ~[reactor-core-3.8.1.jar:3.8.1]
	at org.springframework.security.test.context.support.ReactorContextTestExecutionListener$DelegateTestExecutionListener$SecuritySubContext.onNext(ReactorContextTestExecutionListener.java:120) ~[spring-security-test-7.0.2.jar:7.0.2]
	at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:184) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:183) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:76) ~[reactor-core-3.8.1.jar:3.8.1]
	at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28) ~[reactor-core-3.8.1.jar:3.8.1]
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ~[na:na]
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[na:na]
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[na:na]
	at java.base/java.lang.Thread.run(Thread.java:1583) ~[na:na]

What could be the cause? What do I miss?

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: invalidAn issue that we don't feel is valid

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions