Skip to content

Commit 3d47a90

Browse files
fix: eliminate race condition when creating a review Document (ietf-tools#4876)
1 parent 0d2e264 commit 3d47a90

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

ietf/doc/views_review.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,8 +711,11 @@ def complete_review(request, name, assignment_id=None, acronym=None):
711711
date_today().isoformat(),
712712
]
713713
review_name = "-".join(c for c in name_components if c).lower()
714-
if not Document.objects.filter(name=review_name).exists():
715-
review = Document.objects.create(name=review_name,type_id='review',group=team)
714+
review, created = Document.objects.get_or_create(
715+
name=review_name,
716+
defaults={'type_id': 'review', 'group': team},
717+
)
718+
if created:
716719
DocAlias.objects.create(name=review_name).docs.add(review)
717720
else:
718721
messages.warning(request, message='Attempt to save review failed: review document already exists. This most likely occurred because the review was submitted twice in quick succession. If you intended to submit a new review, rather than update an existing one, things are probably OK. Please verify that the shown review is what you expected.')

0 commit comments

Comments
 (0)