Page MenuHomePhabricator

Prevent "submarine transactions" in ReadingLists sync
Open, MediumPublic

Description

Have sync queries use LOCK IN SHARE MODE to make sure there cannot be "submarine transactions" where a change is inserted in the database with a certain timestamp but not visible due to being in an uncommitted transaction, so both the initial request and the followup miss it. This allows reducing the amount of timestamp backdating to 1s (just needs to avoid continuation race conditions).

(This is a followup to T182706: Make sure apps can continue /changes/since where they left off . See T182706#3933410 for more detail.)