Skip to content
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

[Hotfix] Allow unrelated entity changes to be committed in PackageDeprecationService #9951

Merged
merged 1 commit into from
May 21, 2024

Conversation

joelverhagen
Copy link
Member

Mitigation for #9950 in the package deprecation path.

Hotfix justification: deprecation API calls that would otherwise no-op sometimes return HTTP 500. Since this is a private preview API, there is no data correctness impact, and non-no-op deprecations work just fine, we could choose to not do a hotfix. I would just to prefer to get this fixed ASAP to eliminate a source of HTTP 500s.

Currently, if a deprecation call no-ops all package version and the node handling the deprecation has a different download count cached for a package version than is what in the DB, an HTTP 500 occurs.

This is because the package entity has changes (per the issue referenced above) but the deprecation service does not detect any changes on the entity. IPackageUpdateService.UpdatePackagesAsync is called with an empty list and throws an argument exception which is causing the HTTP 500. We have seen this about 300 times on the deprecation API in the past week, all of which are first party packages or are related to DefinitelyTyped/NugetAutomation#21.

This was not detected locally because storage-based statistics are not used. This was not detected on DEV or INT because the package used for testing had the same download count in DB and in the downloads.v1.json file therefore the DownloadCountObjectMaterializedInterceptor did not introduce any entity changes.

@joelverhagen joelverhagen requested a review from a team as a code owner May 19, 2024 20:30
@joelverhagen joelverhagen merged commit c73ce25 into main May 21, 2024
2 checks passed
@joelverhagen joelverhagen deleted the jver-hotfix-noop branch May 21, 2024 18:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants