{"push_id":3118832828,"size":3,"distinct_size":3,"ref":"refs/heads/master","head":"887c622e824bc665c57e9012b1533b190e12d88e","before":"65f5ebe953056ac135981f6f8b817dbb6b5f9efb","commits":[{"sha":"37f48fdb25a78ba7623c57b50cdfd842292d3ccb","author":{"name":"Brad Jorsch","email":"da73cf9a3c30014a6d98278b4717fa65eb4e21c2@wikimedia.org"},"message":"User: Bypass repeatable-read when creating an actor_id\n\nWhen MySQL is using repeatable-read transaction isolation (which is the\ndefault), the following sequence of events can occur:\n\n1. Request A: Begin a transaction.\n2. Request A: Try to select the actor ID for a user. Find no rows.\n3. Request B: Insert an actor ID for that user.\n4. Request A: Try to insert an actor ID for the user. Fails because one\n   exists.\n5. Request A: Try to select the actor ID that must exist. Fail because of\n   the snapshot created at step 2.\n\nIn MySQL we can avoid this issue at step #5 by using a locking select\n(FOR UPDATE or LOCK IN SHARE MODE), so let's do that.\n\nBug: T210621\nChange-Id: I6c1d255fdd14c6f49d2ea9790e7bd7d101e98ee4","distinct":true,"url":"https://api.github.com/repos/hallowelt/mediawiki/commits/37f48fdb25a78ba7623c57b50cdfd842292d3ccb"},{"sha":"3be252f8cbc095a34ac450a516f0eb044b754f0e","author":{"name":"jenkins-bot","email":"61a1c7c885f4fc173424af2875d459c32bdc4fee@gerrit.wikimedia.org"},"message":"Merge \"User: Bypass repeatable-read when creating an actor_id\"","distinct":true,"url":"https://api.github.com/repos/hallowelt/mediawiki/commits/3be252f8cbc095a34ac450a516f0eb044b754f0e"},{"sha":"887c622e824bc665c57e9012b1533b190e12d88e","author":{"name":"BlueSpice Git Bot","email":"5bdcd3c0d4d24ae3e71b3b452a024c6324c7e4bb@hallowelt.com"},"message":"Merge branch 'master' of github.com:wikimedia/mediawiki","distinct":true,"url":"https://api.github.com/repos/hallowelt/mediawiki/commits/887c622e824bc665c57e9012b1533b190e12d88e"}]}
{"actor":{"display_login":"bluespice-github-bot"}}