-
Notifications
You must be signed in to change notification settings - Fork 657
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
HTTP/1.1 is being logged and recorded by metrics even though HTTP/2 is enabled #3080
Comments
This is an internal implementation detail. At some point Reactor Netty uses for HTTP/2 the same implementation as HTTP/1.1,
This is also an internal implementation detail. For HTTP/2 we track the connections and the streams. |
Thanks for the quick reply @violetagg. My interest is knowing the number of HTTP connections within the application and its impact on performance. Thus, I am interested in HTTP connections maintained by the application. Should I ignore the recorded HTTP/1.1 ( I would like to know more info about usage of HTTP/1.1 calls recorded by the metric. |
With
|
well we make difference between connections and streams: active connection means that we take this connection in order to open a stream, once the stream is opened, the connection is returned to the pool and is idle until we need to open a new stream. So is it possible to add to this graph also the active streams? |
@violetagg Does it use HTTP/1.1 connection to open the stream? Trying to understand why I see HTTP/1.1 connections in graph, but not HTTP/2 connections |
Yes HTTP/2 pool uses HTTP/1.1 pool for establishing connections to the remote. |
|
@miriyusifli Here is how it is implemented (simplified view): |
@miriyusifli I'm closing this as IMO Reactor Netty works as expected. For any further questions please ask on Gitter or Stack Overflow. |
Context
Hi, I have enabled HTTP/2 on the server side and client side. Whenever I send a request using the curl command I am getting the following response as expected. Some configuration-related details:
Problem
However, every time I send a request from the client application to the server, it records certain HTTP/1.1 logs that I don't understand, despite observing only HTTP/2 requests in Wireshark. Below is the logged HTTP/1.1 related logs.
A response status of 204 is an expected status code according to our business requirements. Additionally, it's worth noting that Netty metrics capture certain HTTP/1.1 calls. Specifically, I'm utilizing the
reactor.netty.connection.provider.active.connections
metric. However, I'm confused by the presence of two distinct connection providers: one labeledhttp2.http.client
and the other labeledhttp.client
. In the application I only havehttp.client
Here is the full log regarding a call from the client to the server.
How I configured HTTP/2?
Question
Are there any misconfigurations? I'm confused by the appearance of HTTP/1.1 entries in logs and metrics, despite Wireshark exclusively displaying HTTP/2 calls.
The text was updated successfully, but these errors were encountered: