[Python-Dev] Posting frequent spurious changes in bugtracker (original) (raw)
Brett Cannon brett at python.org
Thu Jan 3 23:43:51 CET 2013
- Previous message: [Python-Dev] Posting frequent spurious changes in bugtracker
- Next message: [Python-Dev] Posting frequent spurious changes in bugtracker
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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>
- Previous message: [Python-Dev] Posting frequent spurious changes in bugtracker
- Next message: [Python-Dev] Posting frequent spurious changes in bugtracker
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]