Repository navigation
Conversation
Acquire the codebase row lock before reading release or review state so concurrent requests cannot reopen a review twice or create separate reviews for different releases of the same codebase. Add PostgreSQL concurrency tests that verify blocking, a single review, one reopen event, and one notification. Validation: all 12 release-view and concurrency tests passed. Both previously failing listing/search tests passed after the stale local index was rebuilt. Related to #900.
This branch has not been deployed
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Requesting peer review again for an unpublished release with a closed review now reopens the existing review and reuses the release. Previously, that request could be rejected or attempt to create a duplicate review. Published releases continue to create a separate review draft, and completed reviews remain protected.
The request handler locks the codebase before reading release or review state. Concurrent requests, including requests from different releases, return the same active review without duplicate reopen events or notifications.
Peer-review work extracted from #900 onto a branch based directly on
main. Backup, logging, Redis, and Compose changes are excluded from this PR.Validation:
make test TEST_ARGS='library.tests.test_views.CodebaseReleaseViewSetTestCase library.tests.test_views.ConcurrentPeerReviewRequestTestCase'.git diff --checkpassed.