[pull] master from getsentry:master#2001
Merged
Merged
Conversation
…115533) Resolves [ID-1271](https://linear.app/getsentry/issue/ID-1271/indicate-duration-when-since-first-seen-is-selected). On issues page, when filtering by time range, Since First Seen also displays duration. --------- Co-authored-by: Scott Cooper <scttcper@gmail.com> Co-authored-by: getsantry[bot] <66042841+getsantry[bot]@users.noreply.github.com> Co-authored-by: Shashank Jarmale <shashank.jarmale@sentry.io>
…ndler (#116246) The `user_service.serialize_many()` call and `IgnoredStatusDetails` construction were mistakenly placed inside the `for group in group_list:` loop; neither depends on the `group`. We should only run this serialization and construction once. No change in behavior, just removing the redundant calls.
…oint (#116237) Replaces the `get_filter_params` project resolution mechanism with a direct `project` query parameter in the latest base snapshot endpoint. The previous approach used `get_filter_params` which resolved project IDs from request parameters and raised `NoProjects` when none matched. This was unnecessarily complex for this endpoint — callers already know the project they want. The new approach accepts an optional `project` query parameter and filters directly, removing the `NoProjects` import and error path entirely. When no project is specified, the query returns results across all projects in the organization (filtered by app_id).
Properly handle missing groups in trace endpoint Fixes SENTRY-5KWJ
…116247) This error is noisy and not really buying us much, switching down to info level logs. We can get it from our log provider if it's important Fixes SENTRY-4D0M <!-- Describe your PR here. -->
…16147) ## Summary Companion to [getsentry/snuba#7955](getsentry/snuba#7955), which removes the deprecated standalone `spans` storage from snuba. This PR drops the sentry tests that exercise that storage so the snuba PR can pass CI. - Remove the two `OrganizationSpansSamplesEndpoint` cases (`test_is_using_sample_rate`, `test_is_segment_properly_converted_in_filter`) that hit the legacy `spans_indexed` code path in the `/spans-samples/` endpoint. `test_is_using_sample_rate` is the actual CI failure (returns 500 from snuba once the storage is gone); the other only passes because it mocks `raw_snql_query`, but it still asserts behavior of the removed storage. The remaining cases in this class and the separate `OrganizationSpansSamplesEAPRPCEndpointTest` already cover the supported EAP path (`dataset=spans`). - Slim down `tests/sentry/search/events/builder/test_spans_indexed.py` to only the `SpansEAPQueryBuilder` attribute parametrization. The other tests exercised `SpansIndexedQueryBuilder` against `Dataset.SpansIndexed`, the query builder for the storage being removed. ## Follow-up The sentry side still has dead production code targeting the legacy storage (`SpansIndexedQueryBuilder`, `sentry.snuba.spans_indexed`, the non-EAP branch in `OrganizationSpansSamplesEndpoint`, and the `Dataset.SpansIndexed` references in `organization_traces.py` / `utils/snuba.py`). Removing that is out of scope here and will land in a separate PR. Agent transcript: https://claudescope.sentry.dev/share/NARO2WbeGu6ID7RCestO9hzZztsIIMdAaQg5mGyHDtQ
…eature flag check (#116259) Fix this feature flag check so that it runs on the correct item rather than relying on a leaked loop variable.
…#116251) When an API token's user no longer exists, transform_auth sets the user to AnonymousUser which lacks is_sentry_app. Use getattr with a False default, matching the safe pattern in access.py. Fixes SENTRY-5PWZ <!-- Describe your PR here. -->
removes stacking fight by drawing replay's breadcrumb connector as a row background instead of an overlapping element refs #116209 that was the wrong solution
…#116262) Removing unused logger and migrating to standard logging pattern in this file.
Follow up to #116052 to remove most uses of `AlertRuleSerializerResponse` and `DetailedIncidentSerializerResponse` - the only remaining place they're used is in the forwards compatible serializers to make sure the payload shape matches the old one.
) Updates trace item attributes tests to align with Snuba's removal of boolean attribute double-writing. Snuba PR #7689 removed the redundant practice of writing boolean attributes to both `attributes_bool` and `attributes_float_*` columns. Booleans are now only stored in `attributes_bool`, eliminating data duplication and improving data integrity. Two tests in our codebase had TODO comments explicitly noting they expected the old double-writing behavior: - `test_empty_attribute_type_for_all_attribute_types` - `test_multiple_attribute_types` This PR removes those expectations and updates the assertions to match the new behavior where booleans only appear as boolean types, not as number types. ## Changes - Removed assertions checking for `tags[tag.boolean,number]` (the double-written boolean as number) - Uncommented length assertions that were waiting for double-writing removal - Added proper assertions for the actual number attributes `tags[tag.number,number]` ## Note There are additional failing tests (`test_trace_metrics_boolean_attributes`, `test_boolean_attributes`) that appear to be caused by a separate Snuba issue where attributes from certain items are not being returned in queries. These will need investigation in Snuba itself. Refs getsentry/snuba#7689 Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com> Co-authored-by: Pierre Massat <pierre.massat@sentry.io>
…failures (#116267) Reduce `FETCH_MAX_WORKERS` from 32 → 16 and `FETCH_BATCH_SIZE` from 200 → 100 in the snapshot image download endpoint. Large snapshots (~40K images) cause the streaming download to fail after ~15 seconds with an HTTP/2 `INTERNAL_ERROR`. The server-side logs show: - 2.37 GB yielded at ~157 MB/s throughput - 906 MB RSS (well past the 600 MB `reload_on_rss` threshold) - Only 3,947 / ~40,000 images delivered before `client_disconnect` - 0 fetch failures — the objectstore reads are fine, the transport layer is the bottleneck The high concurrency causes Python memory fragmentation (32 threads churning through ~600 KB images) that pushes RSS past container limits, and the throughput overwhelms HTTP/2 flow control. Halving both constants reduces memory pressure and data rate while keeping each batch well within the 90s proxy timeout.
instead of attempting to overrides the styles of a timeline item render a custom timeline component. It was never really a timeline item. Adds missing error boundary to sidebar. before <img width="312" height="151" alt="image" src="https://github.com/user-attachments/assets/1e3c5a55-0b49-4295-8311-f92dad965f7a" /> after <img width="335" height="127" alt="image" src="https://github.com/user-attachments/assets/765977b8-d9ad-47dd-823e-87b65c30bb6d" />
If the org is not on a seat based seer plan, they do not need to configure SCM to be allowed to use autofix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )