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
Project Config updates are quite costly within Relay but also in propagation over the wire. Project configs are consistently polled and kept up to date. The current mechanism/API has no way of indicating that a project config has not changed since the last update.
To reduce costs of these constant updates we should introduce a way to only actually send and update a project config when it changed.
For this to work we need to:
Have a revision/hash of the project config. In an initial dumb implementation can just generate a new revision everytime the project config is recomputed. A more elaborate version of this can calculate a consistent hash/version of the project config.
The API needs to be extended to allow signalling a project config was not updated, at the same time downstream Relays must be able to include their current revision ID per project config in the request.
Processing Relays loading from Redis can be updated to read from a more lightweight key <project_config_key>.revision first and only read the full update when the revision is unlike the one currently held in the cache.
The content you are editing has changed. Please copy your edits and refresh the page.
Only the project config API in Sentry can still be extended, created a separate issue for this since that is non critical due to how Relay synchronizes with Sentry through Redis.
Project Config updates are quite costly within Relay but also in propagation over the wire. Project configs are consistently polled and kept up to date. The current mechanism/API has no way of indicating that a project config has not changed since the last update.
To reduce costs of these constant updates we should introduce a way to only actually send and update a project config when it changed.
For this to work we need to:
<project_config_key>.revision
first and only read the full update when the revision is unlike the one currently held in the cache.Tasks
The text was updated successfully, but these errors were encountered: