Addshore added a comment.

  So, this is a race condition following by edits such as these in quick 
succession:
  
  - 
https://www.wikidata.org/w/index.php?diff=1108479589&oldid=1103620837&title=Property:P356
  - 
https://www.wikidata.org/w/index.php?diff=1108479601&oldid=1108479589&title=Property:P356
  
  OR
  
  - 
https://www.wikidata.org/w/index.php?diff=1108479066&oldid=1087632237&title=Property:P590
  - 
https://www.wikidata.org/w/index.php?diff=1108479071&oldid=1108479066&title=Property:P590
  
  In words the pattern is:
  
  - Edit1 changing a label text A ->B
  - Edit1 main transaction commits
  - Edit1 acquires IDs for writing to new term store
  - Edit2 adding an alias A
  - Edit2 main transaction commits
  - Edit2 acquires IDs for writing to new term store
  - Edit1 write to term store commits
  - Edit2 write to term store commits
  
  Edit 2 does not lock the rows when acquiring the ids that will be used for it 
insert.
  Thus the previous cleanup can still get rid of them once the ids are known to 
the code that will perform the insert.
  This results in Edit to believing they exist, and entering a row that ends up 
pointing to nowhere..
  
  Things to think about:
  
  - Lock when selecting from master for id acquisition
  - Delay the cleanup a bit

TASK DETAIL
  https://phabricator.wikimedia.org/T244115

EMAIL PREFERENCES
  https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Addshore
Cc: Tarrow, Ladsgroup, Addshore, Aklapper, Iflorez, darthmon_wmde, alaa_wmde, 
Nandana, Lahi, Gq86, GoranSMilovanovic, QZanden, LawExplorer, _jensen, 
rosalieper, Scott_WUaS, Jonas, Wikidata-bugs, aude, Lydia_Pintscher, Mbch331
_______________________________________________
Wikidata-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikidata-bugs

Reply via email to