-
Notifications
You must be signed in to change notification settings - Fork 91
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
feat: Add a .no-cache option to event sending #911
Conversation
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.
Is this something we want to make available for everybody?
I think we should at least have a configuration option to disable this flag on our production Relays since this has a serious impact on performance and it may be abused (by mistake or deliberately).
I'm fine with this but possibly this should not force a refresh if the project is rate limited. |
@RaduW in this form it's not safe to merge but something like this I want to have available on production relays for folks to be able to iterate on grouping configs. Currently the experience testing grouping (and data scrubber) changes is awful because you need to wait what seems to be more than a minute for changes to apply. |
* master: fix: Build proper 64-bit Linux wheel release: 0.8.2 chore: Switch to manylinux2010 (#917) meta(py): Changelog for 0.8.2 ci: Add an action to release the library (#916) ref: Remove Compatibility mode for Session Aggregates (#913) release: 21.1.0 ci: Fix clippy command invocation ci: Run clippy via the cargo action feat(server): Ingest and normalize sample rates (#910)
45b3244
to
782f97a
Compare
Changed this now to apply later in the pipeline. These changes also ensure that we don't force a refresh if the project is rate limited, @untitaker.
|
7eb3b26
to
55981d4
Compare
55981d4
to
b97707f
Compare
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.
I don't have high confidence in this not regressing anything, but it seems ok. Would add a basic integration test.
* master: fix(server): Log when recovering from network outages (#918) feat: Add a .no-cache option to event sending (#911) fix: Build proper 64-bit Linux wheel release: 0.8.2 chore: Switch to manylinux2010 (#917) meta(py): Changelog for 0.8.2 ci: Add an action to release the library (#916) ref: Remove Compatibility mode for Session Aggregates (#913)
This pull request adds a
no-cache
flag that forces the internal project cache to refresh before processing the envelope. The flag is encoded into the DSN or public key so that it works with any SDK and third-party (including minidumps).For external Relays including PoPs, this has the potential to significantly slow down the end-to-end ingestion timing, but makes it possible to debug issues better by forcing a clean cache before sending. This is useful for iterating on grouping or filter settings. Request handling is not impacted by this change, so SDK event submission should not be impacted.
In general, DSN public keys can now specify optional flags. Flags are appended to the public key in dotted syntax:
https://public-key.flag1.flag2@example.com/1234
The flag for cache bypassing is
no-cache
.