#27762: Concurrency Safety Documentation
-------------------------------+--------------------------------------
Reporter: Kevin Mahoney | Owner: nobody
Type: Uncategorized | Status: new
Component: Documentation | Version: 1.10
Severity: Normal | Resolution:
Keywords: | Triage Stage: Unreviewed
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+--------------------------------------
Comment (by Aymeric Augustin):
The tutorial is kept naive on purpose. It contains a note about the non-
atomic increment (search for "the code for our vote() view does have a
small problem" in the page). Where is the second bug?
There are two categories of bugs in the blog post:
- Bugs related to ORM instances not being singletons: most developers seem
to understand these and they don't appear to be too common in real-world
code;
- Bugs related to concurrency or incorrect assumptions about transactions
isolation: these are hard and I'm not sure how well we can cover them in
Django's documentation, but there's certainly some room for improvement.
If I remember correctly, the documentation of transactions describes the
toolbox but not the problem it solves.
Finally, the bigger concern in this area (usually) is that the admin isn't
safe against concurrent modifications: if user A loads a change page,
makes changes, then saves, any changes made by user B to the same object
between the time user A loaded the change page and saved the object are
overwritten. There's a ticket for that.
--
Ticket URL: <https://code.djangoproject.com/ticket/27762#comment:1>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/066.f5d2a9af154d55bb0795708ae07b2657%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.