Index: trunk/phase3/includes/objectcache/SqlBagOStuff.php |
— | — | @@ -188,7 +188,12 @@ |
189 | 189 | 'keyname' => $key, |
190 | 190 | 'value' => $db->encodeBlob( $this->serialize( $newValue ) ), |
191 | 191 | 'exptime' => $row->exptime |
192 | | - ), __METHOD__ ); |
| 192 | + ), __METHOD__, 'IGNORE' ); |
| 193 | + |
| 194 | + if ( $db->affectedRows() == 0 ) { |
| 195 | + // Race condition. See bug 28611 |
| 196 | + $newValue = null; |
| 197 | + } |
193 | 198 | $db->commit(); |
194 | 199 | } catch ( DBQueryError $e ) { |
195 | 200 | $this->handleWriteError( $e ); |