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
Several important issues have been reported against our instrumentation for HttpComponents: a memory leak in #3920 and NPEs in #3797.
This seems to come from the very extension points being used for the instrumentation: the MicrometerHttpClientInterceptor might not be a good fit for instrumentation and according to the library author, a proper instrumentation would require subclassing the HttpClientBuilder and asking all Micrometer users to use it. This is a major breaking change, and a quite invasive one.
With this issue, we should consider whether we should deprecate the instrumentation of the async variant of HttpComponents (it looks like the sync variant, MicrometerHttpRequestExecutor, is not suffering from the same issues). According to the official website:
HttpCore 4.4.x branch is considered stable and production ready. Please note the 4.x release series will be receiving fixes for major defects and security issues only.
Users of HttpCore 4.x are strongly encouraged to migrate to HttpCore 5.x
Inflicting a major breaking change to our users for a library that should be upgraded in the first place seems like a good discussion to have before rushing to implementing fixes.
Note that we'll fix the instrumentation for HttpComponents 5.x in #3800. There, the new ExecChainHandler and AsyncExecChainHandler contracts and the recent introduction of the instrumentation make this choice easier.
The text was updated successfully, but these errors were encountered:
Several important issues have been reported against our instrumentation for HttpComponents: a memory leak in #3920 and NPEs in #3797.
This seems to come from the very extension points being used for the instrumentation: the
MicrometerHttpClientInterceptor
might not be a good fit for instrumentation and according to the library author, a proper instrumentation would require subclassing theHttpClientBuilder
and asking all Micrometer users to use it. This is a major breaking change, and a quite invasive one.With this issue, we should consider whether we should deprecate the instrumentation of the async variant of
HttpComponents
(it looks like the sync variant,MicrometerHttpRequestExecutor
, is not suffering from the same issues). According to the official website:Inflicting a major breaking change to our users for a library that should be upgraded in the first place seems like a good discussion to have before rushing to implementing fixes.
Note that we'll fix the instrumentation for HttpComponents 5.x in #3800. There, the new
ExecChainHandler
andAsyncExecChainHandler
contracts and the recent introduction of the instrumentation make this choice easier.The text was updated successfully, but these errors were encountered: