-
Notifications
You must be signed in to change notification settings - Fork 8.3k
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
[Telemetry] The local
strategies should call areAllCollectorsReady
#79142
Comments
Pinging @elastic/kibana-telemetry (Team:KibanaTelemetry) |
Good catch! |
All praise to @rudolf ⭐ |
I've debugged this and I dont think it is valid. When telemetry collection is called to fetch usage it will fetch whatever is available at that time to send it. We dont want to miss sending the whole usage because of some collectors not being ready (or even all of them). We cannot also hold from sending until they are ready because we are bound by request timeouts. We can wait for collectors to be ready from the server side sender before sending the usage from the fetcher. I'll submit a PR for it, although this is an enhancement not a bug at this point. |
I agree with @Bamieh. It’s an enhancement, not a bug (updated the labels). And by holding and waiting for all collectors to be ready, we risk a collector will always return On the flip side, we might suffer from race conditions where we attempt to send telemetry and miss some fields that may take a bit longer to be ready (they'll likely be on the next report 24h later). Maybe the solution to this issue is a detailed reason of why we won't fix it 🙂 |
We've had a discussion about this and the method |
Pinging @elastic/kibana-core (Team:Core) |
We've noticed that the
local
telemetry strategies should call theareAllCollectorsReady
method before fetching the data.We should validate all collectors are ready before pushing anything.
X-Pack
might getfalse
butOSS
to gettrue
(when they are iterating over the same collectors because of the way UsageCollection is done)The text was updated successfully, but these errors were encountered: