Skip to content

fix(repository): Bound repository sync lookups - #129473

Open
giovanni-guidini wants to merge 1 commit into
masterfrom
gio/fix/bound-repository-sync-lookups
Open

giovanni-guidini wants to merge 1 commit into
masterfrom
gio/fix/bound-repository-sync-lookups

Conversation

@giovanni-guidini

Copy link
Copy Markdown
Contributor

Passes known external IDs through repository creation, webhook removal, disable, and restore paths so cell RPC workers only serialize the requested repositories instead of every repository in the organization. This is stacked on PR #129472 and must deploy only after that RPC contract is available in every cell. Fixes SCM-327.

Made with Cursor

@linear-code

linear-code Bot commented Nov 2, 2026

Copy link
Copy Markdown

SCM-327

@github-actions github-actions Bot added the Scope: Backend Automatically applied to PRs that change backend components label Nov 2, 2026
@sentry

sentry Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Sentry Snapshot Testing

Name Added Removed Changed Renamed Unchanged Skipped Status
sentry-frontend
sentry-frontend
0 0 0 0 780 0 ✅ Unchanged

⚙️ sentry-frontend Snapshot Settings

)
legacy_repos = self._adoptable_repositories(
organization.id,
external_ids=external_id_list,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will the additional external_ids filter allow the service calls that create candidates to behave correctly? It looks like they would filter the return of those service calls so that the taken check on line 188 wouldn't work the same anymore.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently given the set of external_ids, and the fact that the way a row can be considered "taken" involves the external_id it doesn't matter if you filter before or after.

From clanker:
The filtering and adoptability check commute for the requested IDs. For a candidate with external ID A, only a canonical row with external ID A can mark it as taken. Filtering both candidates and taken by the same requested set therefore cannot remove a relevant blocker.

Also test_create_repositories__does_not_adopt_over_an_existing_row was not added by this PR but seems to show the behavior remains correct

Base automatically changed from gio/feat/repository-external-id-filter to master November 3, 2026 09:32
Pass known external IDs through repository creation, removal, disable, and restore paths so RPC workers do not serialize every repository in an organization.

Fixes SCM-327
@giovanni-guidini
giovanni-guidini force-pushed the gio/fix/bound-repository-sync-lookups branch from f7a86bd to b313041 Compare November 3, 2026 09:35
@giovanni-guidini
giovanni-guidini marked this pull request as ready for review November 3, 2026 10:54
@giovanni-guidini
giovanni-guidini requested review from a team as code owners November 3, 2026 10:54

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Backend Automatically applied to PRs that change backend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants