Index: branches/wmf-deployment/includes/BacklinkCache.php |
— | — | @@ -53,13 +53,13 @@ |
54 | 54 | public function getLinks( $table, $startId = false, $endId = false ) { |
55 | 55 | wfProfileIn( __METHOD__ ); |
56 | 56 | |
| 57 | + $fromField = $this->getPrefix( $table ) . '_from'; |
57 | 58 | if ( $startId || $endId ) { |
58 | 59 | // Partial range, not cached |
59 | 60 | wfDebug( __METHOD__.": from DB (uncacheable range)\n" ); |
60 | 61 | $conds = $this->getConditions( $table ); |
61 | 62 | // Use the from field in the condition rather than the joined page_id, |
62 | 63 | // because databases are stupid and don't necessarily propagate indexes. |
63 | | - $fromField = $this->getPrefix( $table ) . '_from'; |
64 | 64 | if ( $startId ) { |
65 | 65 | $conds[] = "$fromField >= " . intval( $startId ); |
66 | 66 | } |
— | — | @@ -71,7 +71,10 @@ |
72 | 72 | array( 'page_namespace', 'page_title', 'page_id'), |
73 | 73 | $conds, |
74 | 74 | __METHOD__, |
75 | | - array('STRAIGHT_JOIN') ); |
| 75 | + array( |
| 76 | + 'STRAIGHT_JOIN', |
| 77 | + 'ORDER BY' => $fromField |
| 78 | + ) ); |
76 | 79 | $ta = TitleArray::newFromResult( $res ); |
77 | 80 | wfProfileOut( __METHOD__ ); |
78 | 81 | return $ta; |
— | — | @@ -84,7 +87,10 @@ |
85 | 88 | array( 'page_namespace', 'page_title', 'page_id' ), |
86 | 89 | $this->getConditions( $table ), |
87 | 90 | __METHOD__, |
88 | | - array('STRAIGHT_JOIN') ); |
| 91 | + array( |
| 92 | + 'STRAIGHT_JOIN', |
| 93 | + 'ORDER BY' => $fromField, |
| 94 | + ) ); |
89 | 95 | $this->fullResultCache[$table] = $res; |
90 | 96 | } |
91 | 97 | $ta = TitleArray::newFromResult( $this->fullResultCache[$table] ); |
— | — | @@ -225,6 +231,12 @@ |
226 | 232 | $row = $res->fetchObject(); |
227 | 233 | $end = $row->page_id - 1; |
228 | 234 | } |
| 235 | + |
| 236 | + # Sanity check order |
| 237 | + if ( $start && $end && $start > $end ) { |
| 238 | + throw new MWException( __METHOD__.': Internal error: query result out of order' ); |
| 239 | + } |
| 240 | + |
229 | 241 | $batches[] = array( $start, $end ); |
230 | 242 | } |
231 | 243 | return array( 'numRows' => $numRows, 'batches' => $batches ); |
Index: branches/wmf-deployment/includes/HTMLCacheUpdate.php |
— | — | @@ -226,12 +226,6 @@ |
227 | 227 | } |
228 | 228 | |
229 | 229 | public function run() { |
230 | | - # LIVE PATCH TS -- broken indexes |
231 | | - if ( $this->table == 'categorylinks' ) { |
232 | | - return true; |
233 | | - } |
234 | | - ### END PATCH |
235 | | - |
236 | 230 | $update = new HTMLCacheUpdate( $this->title, $this->table, $this->start, $this->end ); |
237 | 231 | $update->doUpdate(); |
238 | 232 | return true; |
Property changes on: branches/wmf-deployment/includes |
___________________________________________________________________ |
Name: svn:mergeinfo |
239 | 233 | - /branches/REL1_15/phase3/includes:51646 |
/branches/wmf-deployment/includes:53381 |
/trunk/phase3/includes:56213,56215-56216,56218,56334-56336,56338,56340,56343,56345,56347,56350,57154-57447,57530,57541,57602,57916,58151,58219,58633,58816,60704 |
240 | 234 | + /branches/REL1_15/phase3/includes:51646 |
/branches/wmf-deployment/includes:53381 |
/trunk/phase3/includes:56213,56215-56216,56218,56334-56336,56338,56340,56343,56345,56347,56350,57154-57447,57530,57541,57602,57916,58151,58219,58633,58816,59718,60704 |
Index: branches/wmf-deployment/RELEASE-NOTES |
— | — | @@ -550,6 +550,8 @@ |
551 | 551 | * (bug 20524) Hideuser: Show nice error when trying to block hidden user without |
552 | 552 | hideuser right |
553 | 553 | * (bug 21026) Fixed file redirects on shared repos on non-English client wikis |
| 554 | +* Fixed a bug which in some situations causes the job queue to grow forever, |
| 555 | + due to an infinite loop of job requeues. |
554 | 556 | |
555 | 557 | == API changes in 1.16 == |
556 | 558 | |
Property changes on: branches/wmf-deployment |
___________________________________________________________________ |
Name: svn:mergeinfo |
557 | 559 | - /branches/REL1_15/phase3:51646 |
/trunk/phase3:56213,56215-56216,56218,56325,56334-56336,56338,56340,56343,56345,56347,56350,57154-57447,57541,57916,58151,58219,58633,58816 |
558 | 560 | + /branches/REL1_15/phase3:51646 |
/trunk/phase3:56213,56215-56216,56218,56325,56334-56336,56338,56340,56343,56345,56347,56350,57154-57447,57541,57916,58151,58219,58633,58816,59718 |