Push all DeferredUpdates to POSTSEND queue when running that queue
authorAaron Schulz <aschulz@wikimedia.org>
Tue, 4 Jul 2017 02:18:54 +0000 (19:18 -0700)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 6 Jul 2017 21:10:17 +0000 (14:10 -0700)
commit3daad1264bb80babc359f95843bd9b3d8ddc01e6
tree75bdb990ffa5f629c1c6690c59c9b713813b989e
parent68e16c26dd58afdf58a97f18f3cc76ed3b0ad9ee
Push all DeferredUpdates to POSTSEND queue when running that queue

This avoids putting updates in the PRESEND queue at a point where they
may never get run later in the request. The peculiarity lead to a
regression in 24842cfac.

Move "enqueue" logic to runUpdate() to simplify execute(). If job
insertion batching is strongly desired for a class, then it can use
MergeableUpdate.

Removed unused "update" field in $executeContext.

Bug: T168723
Change-Id: I40d16f6cd0adc8583797b99d859b76a836d362a8
includes/deferred/DeferredUpdates.php
tests/phpunit/includes/deferred/DeferredUpdatesTest.php