Skip to content

[Telemetry] The caching mechanism also caches failed payloads #123021

@afharo

Description

@afharo

The caching mechanism introduced in #117084 caches the full report. This means that if a collector fails during that report generation, the incomplete report will be cached.

This is important because of the scenario detailed by @jportner in this comment #120422 (comment). It could result in a user with limited access could cache an incomplete report, and another user with the right permissions requesting the report would get the cached incomplete version (and vice-versa).

Potential solutions:

  1. Disable the caching mechanism since we now ensure that we only send 1 daily report. Although we may appreciate some caching for retries if there's a connection issue to the Remote Telemetry Service.
  2. Cache every collector's result individually (only when successful). The problem with this is that they may succeed with some limited visibility.
  3. Always by-pass the caching mechanism when requesting the unencrypted version. The unencrypted payload is generated with the user kibana_system, so it shouldn't have permissions issues.

I'd say option 3 is the best compromise for now.

Metadata

Metadata

Assignees

Labels

Feature:TelemetryTeam:CorePlatform Core services: plugins, logging, config, saved objects, http, ES client, i18n, etc t//bugFixes for quality problems that affect the customer experienceimpact:highAddressing this issue will have a high level of impact on the quality/strength of our product.loe:smallSmall Level of Effort

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions