-
Notifications
You must be signed in to change notification settings - Fork 8.2k
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
Disable bfetch in serverless #183096
Disable bfetch in serverless #183096
Conversation
/ci |
/ci |
Pinging @elastic/kibana-data-discovery (Team:DataDiscovery) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good and work well!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just FMI, could you tell me why we're doing it?
I forgot to link to the issue, but there's more context here: #181938 |
@lukasolson, have you considered using the labels |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we double check the response is actually gzip encoded, or if it is the raw json? Just glanced at it, and wasn't 100% clear to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested and LGTM
💚 Build Succeeded
Metrics [docs]Canvas Sharable Runtime
History
To update your PR or re-run it, just comment with: cc @lukasolson |
Summary
Part of #181938.
Disables bfetch in serverless by overriding the
bfetch:disable
advanced setting in the serverless.yml.Bfetch was introduced to bypass the browser connection limit when multiple search requests are made. Here's a picture of what the network tab looks like with bfetch turned off in http1:
As the number of requests reaches the connection limit (6 on most modern browsers), requests stall until a connection is available.
In Cloud/serverless, we have a http2 proxy. Http2 does not have this browser connection limit. Turning off bfetch allows us to collect metrics to decide if we want to remove it altogether:
In my tests, the overall time for a sample dashboard to load was actually smaller with bfetch disabled on http2 vs. bfetch enabled.
Checklist