Switch out ConcurrencyManager for Manager.

Review Request #14073 — Created Aug. 4, 2024 and submitted — Latest diff uploaded

Information

Review Board
master

Reviewers

Early on in Django history, the built-in Manager.get_or_create method
was racy, potentially raising IntegrityError. We had built a
ConcurrencyManager to handle this case, and used it for many of our
models where we encountered issues.

As of quite some time ago, Django's built-in Manager does exactly the
same thing as our ConcurrencyManager did, and we just didn't discover
that because everything was working as expected. We've deprecated the
ConcurrencyManager as a result. This change swaps out all our usage to
just use the built-in Manager class.

Ran unit tests.

Commits

Files