For context, see the description of T246439. We've instrumented edit conflict and in this case, found a large number of conflicts where the page seems to have not been edited during the edit session, so should not have resulted in a conflict. When EditPage reports baseRevisionId equal to latestRevisionId, the article has not advanced while editing.
select sum(if( event.baseRevisionId == event.latestRevisionId and event.baseRevisionId != 0, 1, 0)) as unedited, count(*) as total from twocolconflictconflict where year=2020 and month=1; unedited total 1927 5263
This happens at the same rate with the legacy and new TwoColConflict interfaces, it's coming from EditPage logic.
From reading the code, these are my initial guesses as to the cause:
- The deprecated edittime parameter can cause a conflict if it was incorrectly set or changed in the edit form.
- Section replace failure
- doEditContent return values can trigger a conflict.