Skip to content

Commit b815fae

Browse files
Merge remote-tracking branch 'origin/master' into remove-schema-hints-flag
# Conflicts: # static/app/views/explore/spans/spansTabSearchSection.spec.tsx
2 parents 389da28 + b4c0ee3 commit b815fae

723 files changed

Lines changed: 17852 additions & 7143 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,8 @@ pnpm-lock.yaml @getsentry/owners-js-de
229229
/tests/sentry/silo/ @getsentry/hybrid-cloud
230230
/tests/sentry/models/test_projectkeymapping.py @getsentry/hybrid-cloud
231231
/.agents/skills/hybrid-cloud-* @getsentry/hybrid-cloud
232+
/src/apigw/ @getsentry/hybrid-cloud @gi0baro
233+
/tests/apigw/ @getsentry/hybrid-cloud @gi0baro
232234
## End of Hybrid Cloud
233235

234236
## Alerts & Notifications

.github/workflows/backend.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ jobs:
365365

366366
- name: run tests
367367
run: |
368-
PYTEST_ADDOPTS="$PYTEST_ADDOPTS -m migrations --migrations --reruns 0 --fail-slow=120s" make test-python-ci
368+
PYTEST_ADDOPTS="$PYTEST_ADDOPTS -m migrations --migrations --reruns 0 --fail-slow=150s" make test-python-ci
369369
370370
- name: Report failures
371371
if: ${{ !cancelled() && github.event_name == 'pull_request' }}

.github/workflows/scripts/compute-sentry-selected-tests.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333

3434
# Known sentry test directory names.
3535
TEST_DIRS = (
36+
"tests/apigw/",
3637
"tests/sentry/",
3738
"tests/snuba/",
3839
"tests/relay_integration/",
@@ -55,6 +56,9 @@
5556
re.compile(r"(^|/)conftest\.py$"),
5657
"src/sentry/runner/initializer.py",
5758
"src/sentry/constants.py",
59+
# column-alias enum evaluated at import time; used indirectly by every
60+
# Snuba query builder so coverage never records per-test contexts for it
61+
"src/sentry/snuba/events.py",
5862
# option defaults registered at startup via initialize_app()
5963
re.compile(r"^src/sentry/options/"),
6064
# feature flags registered via manager.add() at import time
@@ -122,6 +126,23 @@
122126
# Tests that should always be run even if not explicitly selected.
123127
ALWAYS_RUN_TESTS: set[str] = {
124128
"tests/sentry/taskworker/test_config.py",
129+
"tests/sentry/management/commands/test_generate_controlsilo_urls.py",
130+
# apigw must stay in sync with sentry (url -> silo mapping, model queries),
131+
# so any backend change can affect these. Coverage can't attribute the
132+
# routing test to source files: both the django url conf and the apigw
133+
# routing table are built at import time, before any per-test coverage
134+
# context is active.
135+
"tests/apigw/test_db.py",
136+
"tests/apigw/test_routing.py",
137+
# Both of these tests check global codebase invariants via runtime discovery —
138+
# the same reason the apigw tests above are always run. Coverage can't attribute
139+
# them to individual source files because the discovery happens at startup,
140+
# before per-test coverage contexts are active:
141+
# test_base.py: walks all endpoint subclasses to check for silo decorators
142+
# test_validate.py: walks the Django ORM registry (get_exportable_sentry_models)
143+
# to assign comparators — __relocation_scope__ changes on any model are invisible
144+
"tests/sentry/silo/test_base.py",
145+
"tests/sentry/backup/test_validate.py",
125146
}
126147

127148

api-docs/paths/events/project-issues.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"tags": ["Events"],
44
"description": "**Deprecated**: This endpoint has been replaced with the [Organization Issues endpoint](/api/events/list-an-organizations-issues/) which\nsupports filtering on project and additional functionality.\n\nReturn a list of issues (groups) bound to a project. All parameters are supplied as query string parameters. \n\n A default query of ``is:unresolved`` is applied. To return results with other statuses send an new query value (i.e. ``?query=`` for all results).\n\nThe ``statsPeriod`` parameter can be used to select the timeline stats which should be present. Possible values are: ``\"\"`` (disable),``\"24h\"`` (default), ``\"14d\"``\n\nUser feedback items from the [User Feedback Widget](https://docs.sentry.io/product/user-feedback/#user-feedback-widget) are built off the issue platform, so to return a list of user feedback items for a specific project, filter for `issue.category:feedback`.",
55
"operationId": "List a Project's Issues",
6+
"deprecated": true,
67
"parameters": [
78
{
89
"name": "organization_id_or_slug",
@@ -54,6 +55,25 @@
5455
"type": "string"
5556
}
5657
},
58+
{
59+
"name": "sort",
60+
"in": "query",
61+
"description": "The sort order of the issues. Options include 'Last Seen' (`date`), 'First Seen' (`new`), 'Trends' (`trends`), 'Events' (`freq`), 'Users' (`user`), and 'Date Added' (`inbox`).",
62+
"schema": {
63+
"type": "string",
64+
"default": "date",
65+
"enum": ["date", "new", "trends", "freq", "user", "inbox"]
66+
}
67+
},
68+
{
69+
"name": "limit",
70+
"in": "query",
71+
"description": "The maximum number of issues to return. The maximum is 100.",
72+
"schema": {
73+
"type": "integer",
74+
"default": 100
75+
}
76+
},
5777
{
5878
"$ref": "../../components/parameters/pagination-cursor.json#/PaginationCursor"
5979
}

api-docs/paths/projects/user-feedback.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@
7373
"tags": ["Projects"],
7474
"description": "*This endpoint is DEPRECATED. We document it here for older SDKs and users who are still migrating to the [User Feedback Widget](https://docs.sentry.io/product/user-feedback/#user-feedback-widget) or [API](https://docs.sentry.io/platforms/javascript/user-feedback/#user-feedback-api)(multi-platform). If you are a new user, do not use this endpoint - unless you don't have a JS frontend, and your platform's SDK does not offer a feedback API.*\n\nFeedback must be received by the server no more than 30 minutes after the event was saved.\n\nAdditionally, within 5 minutes of submitting feedback it may also be overwritten. This is useful in situations where you may need to retry sending a request due to network failures.\n\nIf feedback is rejected due to a mutability threshold, a 409 status code will be returned.\n\nNote: Feedback may be submitted with DSN authentication (see auth documentation).",
7575
"operationId": "Submit User Feedback",
76+
"deprecated": true,
7677
"parameters": [
7778
{
7879
"name": "organization_id_or_slug",

api-docs/paths/releases/organization-releases.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,25 @@
2121
"type": "string"
2222
}
2323
},
24+
{
25+
"name": "project",
26+
"in": "query",
27+
"description": "The IDs or slugs of projects to filter releases by. This parameter may be repeated to filter by multiple projects. Omit to include all accessible projects; `-1` includes all accessible projects.",
28+
"schema": {
29+
"type": "array",
30+
"items": {
31+
"type": "string"
32+
}
33+
}
34+
},
35+
{
36+
"name": "per_page",
37+
"in": "query",
38+
"description": "The number of releases to return per page. Default and maximum allowed is 100.",
39+
"schema": {
40+
"type": "integer"
41+
}
42+
},
2443
{
2544
"$ref": "../../components/parameters/pagination-cursor.json#/PaginationCursor"
2645
}

bin/split-silo-database

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,24 +71,24 @@ def split_database(tables: list[str], source: str, destination: str, reset: bool
7171

7272

7373
def revise_organization_mappings(legacy_region_name: str):
74-
if settings.SENTRY_MONOLITH_REGION == legacy_region_name:
74+
if settings.SENTRY_FALLBACK_CELL == legacy_region_name:
7575
click.echo(
76-
"> No OrganizationMapping have been modified. Set 'SENTRY_MONOLITH_REGION' in sentry.conf.py to update monolith mappings."
76+
"> No OrganizationMapping have been modified. Set 'SENTRY_FALLBACK_CELL' in sentry.conf.py to update monolith mappings."
7777
)
7878
else:
7979
qs = OrganizationMapping.objects.filter(cell_name=legacy_region_name)
8080
record_count = len(qs)
81-
qs.update(cell_name=settings.SENTRY_MONOLITH_REGION)
81+
qs.update(cell_name=settings.SENTRY_FALLBACK_CELL)
8282
click.echo(
83-
f"> {record_count} OrganizationMapping record(s) have been updated from '{legacy_region_name}' to '{settings.SENTRY_MONOLITH_REGION}'"
83+
f"> {record_count} OrganizationMapping record(s) have been updated from '{legacy_region_name}' to '{settings.SENTRY_FALLBACK_CELL}'"
8484
)
8585

8686

8787
@click.command()
8888
@click.option(
8989
"--legacy-region-name",
9090
default="--monolith--",
91-
help="Previous value of settings.SENTRY_MONOLITH_REGION to overwrite in organization mappings",
91+
help="Previous value of settings.SENTRY_FALLBACK_CELL to overwrite in organization mappings",
9292
)
9393
@click.option("--verbose", default=False, is_flag=True, help="Enable verbose logging")
9494
@click.option(

fixtures/emails/alert.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Tags
2020
* client_os.name = Windows
2121
* device = Other
2222
* environment = prod
23+
* interface_type = stacktrace
2324
* level = error
2425
* logger = javascript
2526
* sentry:user = id:1

fixtures/emails/n1_api_call.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Tags
2424
* effectiveConnectionType = 4g
2525
* environment = production
2626
* hardwareConcurrency = 10
27+
* interface_type = spans
2728
* lcp.element = body > div#__next > h1
2829
* lcp.size = 5738
2930
* level = info

fixtures/emails/performance.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ Tags
2222
* device.family = Mac
2323
* environment = production
2424
* http.status_code = 200
25+
* interface_type = spans
2526
* level = info
2627
* runtime = CPython 3.8.9
2728
* runtime.name = CPython

0 commit comments

Comments
 (0)