Page MenuHomePhabricator

Phabricator silently overwrites changes (no mid-air collision/conflict detection)
Open, LowPublic

Description

Upstream task for Phriction and Maniphest: https://secure.phabricator.com/T4768

It looks like Phabricator may be unintentionally removing CCs when a comment is submitted shortly after a person subscribes? This is pretty worrying.

Examples: T77611, T78116, T78607, T85196

Issues with subscribers additions: T96464: Upon edit, a task description which mentions a Phab user (re)adds that Phab user to CC/Subscribers field, T913: Adding subscribers to a Phabricator task should be more lightweight.

Related Objects

Mentioned In
T154066: T118874 has duplicate actions (closing the task twice)
T135327: Decide Phabricator improvements to be funded by WMF Technical Collaboration
T111230: VisualEditor is intermittently failing to load TemplateData for en.wp's [[Template:Citation needed]] (possibly others?)
T96378: Wikimedia Hackathon 2015 showcase
T96464: Upon edit, a task description which mentions a Phab user (re)adds that Phab user to CC/Subscribers field
T89423: Massive recalculate style triggered by OO.ui.Widget.setDisabled
T89735: VisualEditor is emitting event "timing.ve.behavior.firstTransaction.undefined"
T89027: Caching of Special:ActiveUsers is broken on small wikis
T84906: commons images are always "Last updated 0 seconds ago"
T78039: Clash between rounded corners and text content is jarring for the category editor in VisualEditor when using the OOjs UI MediaWiki theme
T71942: Updating user preferences via API gives inconsistent results
T85198: Edit conflicts happen without warning or force stopping.
Mentioned Here
T100276: Phabricator has no edit conflict warning or resolution
T913: Adding subscribers to a Phabricator task should be more lightweight
T96464: Upon edit, a task description which mentions a Phab user (re)adds that Phab user to CC/Subscribers field
T93510: QUnit tests for ContentTranslation fail - unable to merge commits
T75901: Drop PHP 5.3 support
T85196: Checkuser results should update usernames after a user is renamed
T78607: Update from 1.19 to 1.23 fails: Error: 1054 Unknown column 'page_content_model' in 'field list'.
T78116: 503 Varnish error when adding template to a page on Commons.
T77611: Investigate Erik's ideas about why enwiki is not equivalent to other wikis

Event Timeline

MZMcBride updated the task description. (Show Details)
MZMcBride raised the priority of this task from to Needs Triage.
MZMcBride changed Security from none to None.
MZMcBride added subscribers: MZMcBride, Aklapper, Tgr, Qgil.
Tgr added a comment.Dec 11 2014, 6:22 AM

At a guess, this happens when

  1. person A opens the task for editing
  2. person B adds himself to the CC field
  3. person A saves the form (which in his verson does not have person A in the CC list).

Hah! So we now miss the dreaded mid-air collisions. ;-)

Qgil triaged this task as Low priority.Dec 11 2014, 8:34 AM
Qgil removed a project: Phabricator.
Qgil moved this task from Backlog to Need Discussion on the Phabricator (Upstream) board.
Aklapper renamed this task from Phabricator unintentionally removing CCs? to Phabricator unintentionally removing CCs when another user edits task at the same time (mid-air collision).Dec 16 2014, 5:10 PM
Aklapper updated the task description. (Show Details)
Krenair added a subscriber: Krenair.EditedDec 27 2014, 11:53 PM

Lets upstream this then?

MZMcBride renamed this task from Phabricator unintentionally removing CCs when another user edits task at the same time (mid-air collision) to Phabricator silently overwrites changes (no mid-air collision).Dec 27 2014, 11:59 PM
MZMcBride updated the task description. (Show Details)

Lets upstream this then?

I'd imagine this is a known issue, but I haven't dug up a Phabricator.org task yet.

Ciencia_Al_Poder renamed this task from Phabricator silently overwrites changes (no mid-air collision) to Phabricator silently overwrites changes (no mid-air collision/conflict detection).Jan 2 2015, 4:48 PM

I'd imagine this is a known issue, but I haven't dug up a Phabricator.org task yet.

Surprisingly, I actually can't find any. The only vaguely relevant thing is https://secure.phabricator.com/T4768, but this is about Phriction (the wiki app) rather than Maniphest (the bug filing app). The issue itself is known (for example, on https://secure.phabricator.com/T6205 it's mentioned as one of the reasons for why you can only "Associate Projects" when adding a comment, but not "Edit Projects" – no potential for race conditions this way).

We might be the only Phabricator instance where this actually matters, given how much traffic we have, even in comparison to upstream. And it does matter, I keep seeing task edits that were clearly edit conflicts in my inbox (many of them mentioned above, T75901 is another particularly funny example).

I'd imagine this is a known issue, but I haven't dug up a Phabricator.org task yet.

Surprisingly, I actually can't find any. The only vaguely relevant thing is https://secure.phabricator.com/T4768, but this is about Phriction (the wiki app) rather than Maniphest (the bug filing app). The issue itself is known (for example, on https://secure.phabricator.com/T6205 it's mentioned as one of the reasons for why you can only "Associate Projects" when adding a comment, but not "Edit Projects" – no potential for race conditions this way).

We might be the only Phabricator instance where this actually matters, given how much traffic we have, even in comparison to upstream. And it does matter, I keep seeing task edits that were clearly edit conflicts in my inbox (many of them mentioned above, T75901 is another particularly funny example).

Yes, this usually happens when we're monitoring tasks modifications on IRC, where the original poster may change something later while other person does a triage or assigns projects, etc.

The funny thing is that it happened there for another task that affects Wikimedia :) https://secure.phabricator.com/T6905#90576

I think this matters for all instances, we just happen to be the ones that experience it more often due to relatively high traffic.

Yes, we're the only known very active user of maniphest.

Qgil updated the task description. (Show Details)Jan 13 2015, 8:01 AM
Qgil moved this task from Ready To Go to Upstreamed on the Phabricator (Upstream) board.

Cc

PS: Phabricator doesn't handle edit conflicts at all it seems.

Nemo_bis updated the task description. (Show Details)Apr 18 2015, 6:07 AM

This is upstream at https://secure.phabricator.com/T4768 – do we want to make this an 'official' Wikimedia upstream request?

Yes.

thiemowmde added a subscriber: thiemowmde.
revi awarded a token.Aug 31 2015, 11:22 AM
revi added a subscriber: revi.
Restricted Application added subscribers: TerraCodes, Luke081515. · View Herald TranscriptMay 20 2016, 5:24 PM
Krinkle removed a subscriber: Krinkle.May 23 2016, 6:32 PM

This project is selected for the Developer-Wishlist voting round and will be added to a MediaWiki page very soon. To the subscribers, or proposer of this task: please help modify the task description: add a brief summary (10-12 lines) of the problem that this proposal raises, topics discussed in the comments, and a proposed solution (if there is any yet). Remember to add a header with a title "Description," to your content. Please do so before February 5th, 12:00 pm UTC.

This comment was removed by Paladox.