You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I upgraded our application from Spring Boot 3.0.13 to 3.2.2 and I see the same issue as @erimolNordnet reported, too. The issue appears at the moment only in our background job where we make a lot of http requests and the cpu usage is very high. Before we make a request we load some data which could be multiple megabytes. In the screenshot the CancelableContinuationImpl contains the data which was loaded before. It looks like that the netty client underneath is not releasing the memory after the request. Our webclient config uses a connection pool with the lifo setting and the evictInBackground setting is set to 45 seconds. In our api instance we couldn`t see this issue. Maybe this helps to get an idea why this is happening. Our quickfix is to set spring-webflux to 6.1.1.
Another thesis is that the requests attributes where the ClientRequestObservationContext was added are not cleared before the connection is given back to the connection pool and the reference to the rest of the loaded data exists although the processing is finished. I think this issue is old but was not yet relevant because the ClientRequestObservationContext contained only the request headers and not the full request object.
Hi together,
I upgraded our application from Spring Boot 3.0.13 to 3.2.2 and I see the same issue as @erimolNordnet reported, too. The issue appears at the moment only in our background job where we make a lot of http requests and the cpu usage is very high. Before we make a request we load some data which could be multiple megabytes. In the screenshot the CancelableContinuationImpl contains the data which was loaded before. It looks like that the netty client underneath is not releasing the memory after the request. Our webclient config uses a connection pool with the lifo setting and the evictInBackground setting is set to 45 seconds. In our api instance we couldn`t see this issue. Maybe this helps to get an idea why this is happening. Our quickfix is to set spring-webflux to 6.1.1.
Another thesis is that the requests attributes where the ClientRequestObservationContext was added are not cleared before the connection is given back to the connection pool and the reference to the rest of the loaded data exists although the processing is finished. I think this issue is old but was not yet relevant because the ClientRequestObservationContext contained only the request headers and not the full request object.
Best,
Konstantin
Originally posted by @konner91 in #32198 (comment)
The text was updated successfully, but these errors were encountered: