Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spring Boot 3.2 - WebClientSubscriber - java.lang.NoSuchMethodError #3439

Closed
NicklasWallgren opened this issue Nov 24, 2023 · 6 comments · Fixed by #3440
Closed

Spring Boot 3.2 - WebClientSubscriber - java.lang.NoSuchMethodError #3439

NicklasWallgren opened this issue Nov 24, 2023 · 6 comments · Fixed by #3440
Labels
agent-java community Issues and PRs created by the community triage

Comments

@NicklasWallgren
Copy link
Contributor

NicklasWallgren commented Nov 24, 2023

The latest version of the agent does not support Spring Boot 3.2

The ClientResponse#rawStatusCode was removed in Spring Framework 6.1

image

WARN  reactor.core.Exceptions - throwIfFatal detected a jvm fatal exception, which is thrown and logged below:
java.lang.NoSuchMethodError: 'int org.springframework.web.reactive.function.client.ClientResponse.rawStatusCode()'
	at co.elastic.apm.agent.springwebclient.WebClientSubscriber.onNext(WebClientSubscriber.java:77)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:79)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onNext(MonoFlatMapMany.java:250)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onNext(FluxHide.java:137)
	at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2571)
	at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.request(FluxHide.java:152)
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
	at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribeInner(MonoFlatMapMany.java:150)
	at reactor.core.publisher.MonoFlatMapMany$FlatMapManyInner.onSubscribe(MonoFlatMapMany.java:245)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onSubscribe(TracedSubscriber.java:85)
	at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onSubscribe(FluxContextWrite.java:101)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onSubscribe(TracedSubscriber.java:85)
	at reactor.core.publisher.FluxHide$SuppressFuseableSubscriber.onSubscribe(FluxHide.java:122)
	at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
	at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:68)
	at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:195)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
	at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:177)
	at co.elastic.apm.agent.reactor.TracedSubscriber.onNext(TracedSubscriber.java:106)
	at reactor.core.publisher.MonoCreate$DefaultMonoSink.success(MonoCreate.java:176)
	at reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:435)
	at reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:710)
	at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onStateChange(DefaultPooledConnectionProvider.java:195)
	at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onStateChange(DefaultPooledConnectionProvider.java:456)
	at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:703)
@github-actions github-actions bot added agent-java community Issues and PRs created by the community triage labels Nov 24, 2023
NicklasWallgren pushed a commit to NicklasWallgren/apm-agent-java that referenced this issue Nov 24, 2023
NicklasWallgren added a commit to NicklasWallgren/apm-agent-java that referenced this issue Nov 24, 2023
@kumlien
Copy link

kumlien commented Nov 27, 2023

Great job @NicklasWallgren , a release with this fix will be highly appreciated!

@NicklasWallgren
Copy link
Contributor Author

@jackshirazi Any ETA on support for Spring Framework 6.1 and Spring Boot 3.2?

@KaVeKa
Copy link

KaVeKa commented Nov 29, 2023

There is a pull request #3440 which resolves this issue. Don't know anything about an ETA for release, but yesterday @JonasKunz fixed this PR.

@JonasKunz
Copy link
Contributor

#3440 should indeed fix the issue. We have no new release scheduled yet, but we'll likely do one in the first half of december. If you need the fix earlier, you can use the snapshot-build after #3440 is merged.

JonasKunz added a commit that referenced this issue Nov 29, 2023
@NicklasWallgren
Copy link
Contributor Author

#3440 should indeed fix the issue. We have no new release scheduled yet, but we'll likely do one in the first half of december. If you need the fix earlier, you can use the snapshot-build after #3440 is merged.

Do you have a release schedule yet? 🙂

@JonasKunz
Copy link
Contributor

We just released 1.45.0, which includes the fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent-java community Issues and PRs created by the community triage
Projects
None yet
4 participants