[Python-Dev] Posting frequent spurious changes in bugtracker

Brett Cannon brett at python.org
Thu Jan 3 23:43:51 CET 2013


On Thu, Jan 3, 2013 at 4:06 PM, Glenn Linderman <v+python at g.nevcal.com>wrote:

>  On 1/3/2013 12:13 PM, Brett Cannon wrote:
>
> It is a form so technically nothing is being done incorrectly in changing
> values based on what you submit, whether you view them stale or not.
>
>
> Well, it sounds like a pretty shaky technology foundation, if simultaneous
> updates of a shared data repository have race conditions.
>
> Certainly leaving a tab open for long periods of time exacerbates the
> issue, as it severely extends the definition of "simultaneous".  Without
> that, the likelihood of people doing simultaneous updates is seriously
> reduced, except maybe for bugs with "hot" discussions.
>
>
I would argue it is no longer simultaneous and thus not a race condition.
You can't consider a POST transactional based on when the HTTP GET request
for the form completed to when the POST finally occurs.


> Jesus' suggestion of a hidden version field would help, but could be
> annoying for the case of someone writing a lengthy response, and having it
> discarded because the hidden version field is too old... so care would have
> to be taken to preserve such responses when doing the refresh...
>

As I said, this belongs upstream in Roundup and not directly in our roundup
instance for a proper fix. This is beyond schema and it heading into
low-level Roundup POST functionality.

-Brett


> Another possible implementation would be to track which fields in the form
> are actually updated by a submitter... and reject a submission only if
> there was a simultaneous update to that field.
>
> Another possible implementation for fields like nosy, would be to display
> the current list, but provide boxes for additions and deletions, rather
> than allowing editing. Or maybe just a "remove me" button for deletions
> would suffice, with a box for additions.  Then the processing would avoid
> adding duplicates.
>
> People shouldn't have to do heroic things with refreshing to maintain the
> consistency of the underlying data...  database transaction technology has
> been around for quite a few years by now, and is well understood.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20130103/7f060a3d/attachment.html>


More information about the Python-Dev mailing list