Index: branches/REL1_17/phase3/includes/BagOStuff.php |
— | — | @@ -377,7 +377,12 @@ |
378 | 378 | 'keyname' => $key, |
379 | 379 | 'value' => $db->encodeBlob( $this->serialize( $newValue ) ), |
380 | 380 | 'exptime' => $row->exptime |
381 | | - ), __METHOD__ ); |
| 381 | + ), __METHOD__, 'IGNORE' ); |
| 382 | + |
| 383 | + if ( $db->affectedRows() == 0 ) { |
| 384 | + // Race condition. See bug 28611 |
| 385 | + $newValue = null; |
| 386 | + } |
382 | 387 | $db->commit(); |
383 | 388 | } catch ( DBQueryError $e ) { |
384 | 389 | $this->handleWriteError( $e ); |
Property changes on: branches/REL1_17/phase3/includes/BagOStuff.php |
___________________________________________________________________ |
Added: svn:mergeinfo |
385 | 390 | Merged /branches/sqlite/includes/BagOStuff.php:r58211-58321 |
386 | 391 | Merged /trunk/phase3/includes/BagOStuff.php:r82474,82845,82847-82848,85752,86418 |
387 | 392 | Merged /branches/new-installer/phase3/includes/BagOStuff.php:r43664-66004 |
388 | 393 | Merged /branches/wmf-deployment/includes/BagOStuff.php:r53381 |
389 | 394 | Merged /branches/REL1_15/phase3/includes/BagOStuff.php:r51646 |
390 | 395 | Merged /trunk/phase3/includes/objectcache/SqlBagOStuff.php:r86418 |
Index: branches/REL1_17/phase3/RELEASE-NOTES |
— | — | @@ -554,6 +554,7 @@ |
555 | 555 | * (bug 22606) don't send the "someone registred an account" message when setting email address |
556 | 556 | (i.e. old one empty) in user preferences |
557 | 557 | * (bug 26458) Section edit links appear on pages that user does not have right to edit |
| 558 | +* (bug 28611) Don't die in SqlBagOStuff::incr() if there's a race condition. |
558 | 559 | |
559 | 560 | === API changes in 1.17 === |
560 | 561 | * BREAKING CHANGE: action=patrol now requires POST |
Property changes on: branches/REL1_17/phase3/RELEASE-NOTES |
___________________________________________________________________ |
Modified: svn:mergeinfo |
561 | 562 | Merged /trunk/phase3/RELEASE-NOTES:r86418 |