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
While chatting with @violetagg about #23594, we noticed that ReactorResourceFactory, when disposing of HTTP resources, is using the "void returning" variants of the APIs (for example, see ConnectionProvider.dispose() in reactor-netty).
Those variants are returning a void type but aren't synchronous and are not waiting for the operation to complete. Under the hood, they're calling the reactive version and subscribing to it, even sometimes in an elastic scheduler.
Spring Framework should in this case use disposeLater().block(); to ensure that resources have been cleaned up before the method returns. This might explain part of the problem in #23594 if the resources aren't cleaned completely before the server shuts down.
The text was updated successfully, but these errors were encountered:
after commit ca2b2f5 , webflux-http-kqueue-* is destroyed after context closed, but there is a thread named globalEventExecutor-1-1 not destroyed immediately, should wait for 1 second.
While chatting with @violetagg about #23594, we noticed that
ReactorResourceFactory
, when disposing of HTTP resources, is using the "void returning" variants of the APIs (for example, seeConnectionProvider.dispose()
in reactor-netty).Those variants are returning a
void
type but aren't synchronous and are not waiting for the operation to complete. Under the hood, they're calling the reactive version and subscribing to it, even sometimes in an elastic scheduler.Spring Framework should in this case use
disposeLater().block();
to ensure that resources have been cleaned up before the method returns. This might explain part of the problem in #23594 if the resources aren't cleaned completely before the server shuts down.The text was updated successfully, but these errors were encountered: