jenkins-bot [Wed, 20 Mar 2019 20:16:29 +0000 (20:16 +0000)]
Merge "context: Cleanup is_null() checks and irrelevant else code paths"
Derick Alangi [Wed, 20 Mar 2019 18:53:00 +0000 (19:53 +0100)]
context: Cleanup is_null() checks and irrelevant else code paths
This class specifically has these 2 things in many cases and converts
into the use of a tenary operations.
Quoting @Thiemo_WMDE from Gerrit comment: "The ?: operator will skip
empty arrays, empty strings, as well as the string "0". But this is
not a problem here because the properties under test are all objects.
Objects are always considered true in PHP."
Sample change can be seen below as, from;
```
if ( !is_null( $this->skin )) {
return $this->skin;
} else {
return $this->getContext()->getSkin();
}
```
to
```
return $this->skin ?: $this->getContext()->getSkin();
```
Change-Id: I377b118d86a24c7bcb15512f6714e6201a3e36ee
jenkins-bot [Wed, 20 Mar 2019 19:35:07 +0000 (19:35 +0000)]
Merge "db: Remove property assignment overriden by constructor"
jenkins-bot [Wed, 20 Mar 2019 19:04:24 +0000 (19:04 +0000)]
Merge "objectcache: make BagOStuff::changeTTL() more atomic"
Derick Alangi [Wed, 20 Mar 2019 16:24:35 +0000 (17:24 +0100)]
db: Use brackets `()` in operation for better readability
Wrap the expression into () to improve readability of the code.
Change-Id: Id53ea4709a7601fd1354833a44bd652570c733e6
Derick Alangi [Wed, 20 Mar 2019 17:36:03 +0000 (18:36 +0100)]
db: Remove property assignment overriden by constructor
As these class properties are overriden by the class constructor,
we can safely remove them. In addition, remove a useless "/" in a
PHPDoc.
Change-Id: I9cecfc8a0e5b58c931ee32c7465c064a9add1a77
Aaron Schulz [Wed, 20 Mar 2019 16:46:33 +0000 (09:46 -0700)]
objectcache: make BagOStuff::changeTTL() more atomic
Change-Id: I86493498ef3359046b12d51795cf7875af6c3a6c
jenkins-bot [Wed, 20 Mar 2019 09:24:22 +0000 (09:24 +0000)]
Merge "storage: Fix typo in NameTableStore::purgeWANCache comments"
Aaron Schulz [Wed, 20 Mar 2019 03:35:51 +0000 (20:35 -0700)]
Fix typo in McrSchemaOverride
Change-Id: Ifedb6276d9b4188e2aacacf38bf608f7ea36201b
jenkins-bot [Wed, 20 Mar 2019 02:15:55 +0000 (02:15 +0000)]
Merge "Fix selectRow() parameters in PopulateCategory"
jenkins-bot [Wed, 20 Mar 2019 02:15:43 +0000 (02:15 +0000)]
Merge "Make BackupDumper MCR compatible (main slot only)"
jenkins-bot [Wed, 20 Mar 2019 02:13:51 +0000 (02:13 +0000)]
Merge "Move the "v1" to an adjacent key component in Title::loadRestrictions"
Aaron Schulz [Tue, 19 Mar 2019 16:28:40 +0000 (09:28 -0700)]
storage: Fix typo in NameTableStore::purgeWANCache comments
Change-Id: Icdea7422cdb110877bb8991896e6ab8a83b02858
jenkins-bot [Wed, 20 Mar 2019 01:28:24 +0000 (01:28 +0000)]
Merge "Replace 'TablePager' CSS class exclusively by `mw-datatable`"
Aaron Schulz [Wed, 20 Mar 2019 01:21:18 +0000 (18:21 -0700)]
Move the "v1" to an adjacent key component in Title::loadRestrictions
This keeps the WAN cache statsd metrics under page-restrictions as before
Change-Id: I30b716cbc362c98f09ba77a4b3f68a821d966d44
Andrew Green [Tue, 19 Mar 2019 22:16:11 +0000 (16:16 -0600)]
Improve Caching in Title::loadRestrictions()
Change-Id: I9a7edf6fc7d0bb0f4129fe13323964e9fae791f3
Translation updater bot [Tue, 19 Mar 2019 20:54:09 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I1b714edba904187e6b39f9e26f54b40f567453e7
jenkins-bot [Tue, 19 Mar 2019 20:09:14 +0000 (20:09 +0000)]
Merge "jquery.tablesorter: Never initialize twice on the same element"
jenkins-bot [Tue, 19 Mar 2019 19:35:57 +0000 (19:35 +0000)]
Merge "Remove block cookie stats measurement implementation"
Ed Sanders [Wed, 13 Mar 2019 19:26:05 +0000 (19:26 +0000)]
jquery.tablesorter: Never initialize twice on the same element
Change-Id: I06725e62b2ee95e2d1d37348a633f9cbc156318d
Aaron Schulz [Tue, 19 Mar 2019 18:36:19 +0000 (11:36 -0700)]
Fix selectRow() parameters in PopulateCategory
Change-Id: Ib538657d5db889cd7c8a9ae694c60e92e13584f5
jenkins-bot [Tue, 19 Mar 2019 18:09:30 +0000 (18:09 +0000)]
Merge "Remove many references to db fields being retired as part of MCR Schema Migration"
jenkins-bot [Tue, 19 Mar 2019 16:39:34 +0000 (16:39 +0000)]
Merge "debug: Disable flaky CeeFormatterTest"
jenkins-bot [Tue, 19 Mar 2019 16:25:26 +0000 (16:25 +0000)]
Merge "Sync up with Parsoid parserTests.txt"
Bill Pirkle [Fri, 15 Mar 2019 15:59:41 +0000 (10:59 -0500)]
Remove many references to db fields being retired as part of MCR Schema Migration
Remove many references to database fields rev_text_id and ar_text_id,
which are being retired as part of MCR Schema Migration.
Some references remain, and will be removed under other patchsets
or other tasks.
Bug: T198341
Change-Id: Id044b8dcd7c9d09d5d6037eb732f6a105933f516
jenkins-bot [Tue, 19 Mar 2019 15:36:09 +0000 (15:36 +0000)]
Merge "rdbms: add bad mysql table/column codes to wasKnownStatementRollbackError()"
Arlo Breault [Tue, 19 Mar 2019 15:33:40 +0000 (11:33 -0400)]
Sync up with Parsoid parserTests.txt
This now aligns with Parsoid commit
94b8b491098f882582f372218df07f5b68f4eba1
Change-Id: I760e73c98109047e20e4c85b97853b9b3f50b090
Timo Tijhof [Tue, 19 Mar 2019 15:25:18 +0000 (15:25 +0000)]
debug: Disable flaky CeeFormatterTest
Follows-up
667b17a3193f0af0.
Bug: T218688
Change-Id: I70afc5b9c41ae8d593d71f27bc55b424d9de260c
Dayllan Maza [Tue, 19 Mar 2019 15:12:08 +0000 (11:12 -0400)]
Remove block cookie stats measurement implementation
When setting a cookie on IP blocks was rolled out we wanted to
add some form of measurement to keep an eye on it. This patch is
removing that implementation 'cause it is not needed anymore.
Bug: T218596
Change-Id: I33ee164157b539560a3d88c6f3018dc013218640
jenkins-bot [Tue, 19 Mar 2019 15:06:46 +0000 (15:06 +0000)]
Merge "Revert "Split out new RefreshSecondaryDataUpdate class""
Timo Tijhof [Tue, 19 Mar 2019 03:01:43 +0000 (03:01 +0000)]
Revert "Split out new RefreshSecondaryDataUpdate class"
This reverts commits
a1f7fd3adaa3,
0ef02cd018901.
Bug: T218456
Change-Id: I9bbea3d13460ed44755d77fc61ff23fb906cf71e
jenkins-bot [Tue, 19 Mar 2019 14:37:54 +0000 (14:37 +0000)]
Merge "parser: Rename $lastSection to $lastParagraph"
jenkins-bot [Tue, 19 Mar 2019 14:37:48 +0000 (14:37 +0000)]
Merge "Revert "Temporarily trim leading/trailing whitespace from parser test clauses""
jenkins-bot [Tue, 19 Mar 2019 14:37:16 +0000 (14:37 +0000)]
Merge "parser: Omit outputting newline after final line"
jenkins-bot [Tue, 19 Mar 2019 14:36:36 +0000 (14:36 +0000)]
Merge "Remove rollback confirmation user preference"
jenkins-bot [Tue, 19 Mar 2019 14:18:30 +0000 (14:18 +0000)]
Merge "parser: Remove trailing newline after prefixes have been cleared"
jenkins-bot [Tue, 19 Mar 2019 14:18:22 +0000 (14:18 +0000)]
Merge "Temporarily trim leading/trailing whitespace from parser test clauses"
Tim Eulitz [Mon, 18 Mar 2019 13:40:09 +0000 (14:40 +0100)]
Remove rollback confirmation user preference
Due to a delay in the rollout of this feature, this part of the code has
to be temporarily removed again to prevent an unused setting from
popping up in the user settings.
Bug: T218556
Change-Id: I0f4e822fc25fddc2bc3c0b55b0792799a1e4c4ba
jenkins-bot [Tue, 19 Mar 2019 04:25:47 +0000 (04:25 +0000)]
Merge "Improve RemexStripTagHandler working with tables"
Aaron Schulz [Tue, 19 Mar 2019 03:22:59 +0000 (20:22 -0700)]
rdbms: add bad mysql table/column codes to wasKnownStatementRollbackError()
Change-Id: I826681ae7582b6f8af09b1d5ed08378532af2556
jenkins-bot [Tue, 19 Mar 2019 02:30:21 +0000 (02:30 +0000)]
Merge "Use READ_EXCLUSIVE in SpecialConfirmEmail::attemptConfirm"
jenkins-bot [Tue, 19 Mar 2019 02:30:11 +0000 (02:30 +0000)]
Merge "rdbms: document that IDatabase::selectFieldValues() keeps the order"
jenkins-bot [Tue, 19 Mar 2019 01:45:48 +0000 (01:45 +0000)]
Merge "Make BagOStuff::incr abstract to discourage bad implementations"
jenkins-bot [Tue, 19 Mar 2019 00:09:28 +0000 (00:09 +0000)]
Merge "Define ManualLogEntryBeforePublish hook"
jenkins-bot [Mon, 18 Mar 2019 23:52:33 +0000 (23:52 +0000)]
Merge "Replace $wgUser with RequestContext::getUser in User::getBlockedStatus"
Piotr Miazga [Wed, 13 Mar 2019 20:16:39 +0000 (21:16 +0100)]
Define ManualLogEntryBeforePublish hook
This hook is required by extensions like MobileFrontend to tag
log entries when actions are performed on the mobile web.
There is a possibility to tag log entries by using
'RecentChange_save' hook, but that works only when the log entry
is published to 'rc' or 'rcandudp'. This means, that tagged log
will appear also on the Special:RecentChanges page which is something
what extensions like 'Thanks' wants to avoid.
In the future we should avoid using 'RecentChange_save' as an
indirect way to tag log entries, and use the
'ManualLogEntryBeforePublish' hook instead.
To cover ourselves in the future, instead of passing &$tags only,
we pass the $this (the log entry object) so extensions can perform
additional checks before using setTags().
Bug: T215675
Change-Id: I747eded4bc5406cd5d4676fc93b0bb55c99f9a4d
Gergő Tisza [Mon, 18 Mar 2019 21:50:48 +0000 (14:50 -0700)]
Replace $wgUser with RequestContext::getUser in User::getBlockedStatus
$wgUser is not guaranteed to exist until MediaWiki has been fully
initialized; block status needs to be checked early on for
authentication-related permission checks.
Bug: T218608
Change-Id: I16315c071855024bc0412d5360c95f843420d9a9
Aaron Schulz [Mon, 18 Mar 2019 23:09:26 +0000 (16:09 -0700)]
Make BagOStuff::incr abstract to discourage bad implementations
Callers should really use atomic TTL-preserving implementations
so that calling code works correctly. The old default base class
code did not do either.
Change-Id: Icf66db05e48b86c8d481dc08dc9041bd1fa6dbe9
jenkins-bot [Mon, 18 Mar 2019 23:02:58 +0000 (23:02 +0000)]
Merge "Make DeferredUpdates enqueue updates that failed to run when possible"
jenkins-bot [Mon, 18 Mar 2019 22:47:44 +0000 (22:47 +0000)]
Merge "Provide a Taggable interface"
Piotr Miazga [Thu, 28 Feb 2019 17:24:10 +0000 (18:24 +0100)]
Provide a Taggable interface
The Taggable interface defines how to tag objects in MediaWiki.
For now there are only two Taggable objects:
- RecentChange
- ManualLogEntries
This interface should be used in places where we want to optionally
tag things, for example:
We want to tag all mobile web actions with 'web mobile edit'.
With that interface, we will be able to expect a Taggable object,
and call `addTags()` when we need to, without having a special check
to verify is it RecentChange, or is it ManualLogEntry. We will only
expect a Taggable object.
Additionally, added @deprecated note to ManualLogEntries::setTags()
as each call to this method will override all previous tags. This
action can be harmfull to parts of code that conditionally add tags.
If object was tagged in some way, we should preserve those tags.
If there are any special cases, where we want to override all tags,
we should provide `resetTags()` method.
Bug: T215675
Change-Id: Ia4c019db8ca6f37ce0f86bf7d134d6f1713daf56
Translation updater bot [Mon, 18 Mar 2019 21:55:09 +0000 (22:55 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I7dea9fd7d9892ea16a33bf020f22957dbe29549c
jenkins-bot [Mon, 18 Mar 2019 21:25:59 +0000 (21:25 +0000)]
Merge "Mixin FlaggedElement to DateTimeInputWidget"
jenkins-bot [Mon, 18 Mar 2019 20:55:58 +0000 (20:55 +0000)]
Merge "Urlencode fragments when redirecting after editing"
Daimona Eaytoy [Mon, 18 Mar 2019 10:07:59 +0000 (11:07 +0100)]
Mixin FlaggedElement to DateTimeInputWidget
As consequence of Id46ca3b630a9d24bc4790c1aa8c6e15c95ea2e51.
Bug: T218513
Change-Id: Iaf1078971767224119138e47bb175094230c99a2
Max Semenik [Mon, 18 Mar 2019 05:42:42 +0000 (22:42 -0700)]
Urlencode fragments when redirecting after editing
This is a quick fix for the main symptom of the Chrome bug that results in
users being redirected to Special:BadTitle after section editing. We'll
need to discuss a more permanent solution.
Bug: T216029
Change-Id: I4b2d42ebc74031df86bc52310da71819da11c1ae
jenkins-bot [Mon, 18 Mar 2019 01:07:10 +0000 (01:07 +0000)]
Merge "Password: update documentation"
Translation updater bot [Sun, 17 Mar 2019 20:54:44 +0000 (21:54 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I2d4ac09f82c79444730cf9cf0c8f01fc5109b917
Max Semenik [Sun, 17 Mar 2019 19:44:19 +0000 (12:44 -0700)]
Password: update documentation
Change-Id: Ifd7afc48e301a7985c2dd9134a7ea75af9bfeb4b
jenkins-bot [Sun, 17 Mar 2019 18:49:05 +0000 (18:49 +0000)]
Merge "Make LinkCache::isCacheable include namespaces like NS_CATEGORY/NS_MODULE"
jenkins-bot [Sun, 17 Mar 2019 16:33:19 +0000 (16:33 +0000)]
Merge "Advertise feeds only if $wgFeed is enabled"
RazeSoldier [Sun, 18 Feb 2018 17:31:29 +0000 (01:31 +0800)]
runJobs.php output something when the job queue is empty
If the job queue is empty, output "Job queue is empty."
Bug: T187628
Change-Id: I7d0925bd2995526b1a67148096e9543766a62da7
Aaron Schulz [Sun, 17 Mar 2019 05:35:43 +0000 (22:35 -0700)]
Use READ_EXCLUSIVE in SpecialConfirmEmail::attemptConfirm
Bug: T202149
Change-Id: I9abc9e653dcc0910a5eea1dad56b2432d33d3c44
saper [Sun, 28 Jan 2018 02:21:51 +0000 (03:21 +0100)]
Advertise feeds only if $wgFeed is enabled
Wikis with $wgFeed=false should not present an Atom icon on the RecentChanges/Watchlist.
Bug: T116145
Change-Id: Ic64f7f5115a77c42ed2b336f6996fe711b3822ba
jenkins-bot [Sat, 16 Mar 2019 22:54:32 +0000 (22:54 +0000)]
Merge "RELEASE-NOTES: Make more consistent and useful for sysadmins"
jenkins-bot [Sat, 16 Mar 2019 22:12:55 +0000 (22:12 +0000)]
Merge "Various fixes for phan-taint-check"
jenkins-bot [Sat, 16 Mar 2019 22:03:25 +0000 (22:03 +0000)]
Merge "ProtectionForm: Follow up on I167ae6300b37d4e9292"
jenkins-bot [Sat, 16 Mar 2019 21:23:36 +0000 (21:23 +0000)]
Merge "rdbms: improve database connection loss handling"
James D. Forrester [Fri, 15 Mar 2019 00:58:24 +0000 (17:58 -0700)]
RELEASE-NOTES: Make more consistent and useful for sysadmins
* Move the "upgrading" bit further up, and put the notes specific
to upgrading inside it.
* Word all configuration changes to start with the $wg… – rubric
so they're easy to spot.
* Be explicit when new configuration options are temporary.
* Split user and developer features. Sysadmin features are what
the "Configuration changes" section is for, so spell that out.
Change-Id: Id12ced8bb764f2c3945c14799d63c17e2711c6f6
Brian Wolff [Sun, 17 Feb 2019 11:47:41 +0000 (11:47 +0000)]
Various fixes for phan-taint-check
Change-Id: I56f42ef2d2e9b4f3c23e1e93d1a4d3db64f16de7
Derick Alangi [Mon, 11 Mar 2019 09:34:23 +0000 (10:34 +0100)]
ProtectionForm: Follow up on I167ae6300b37d4e9292
Per code search string "\$this\-\>showLogExtract\( \$ou", method
is only called within the ProtectionForm class so can be safely
made private but there are methods with the same name in a class
like LogEventsList but do different things.
Inspired by @Thiemo's comment on I167ae6300b37d4e9292.
Change-Id: Ic4983ccffecc6285f848d6e926017c4c6df4855f
Jack Phoenix [Fri, 15 Mar 2019 23:13:36 +0000 (01:13 +0200)]
Code style tweaks
Change-Id: I2c602ba642e5692e6c56817aac89be9058bf5bdb
Aaron Schulz [Thu, 14 Mar 2019 06:44:38 +0000 (23:44 -0700)]
Make LinkCache::isCacheable include namespaces like NS_CATEGORY/NS_MODULE
Category and module pages are some of the most frequently referenced
Change-Id: I6d29e883883cbea596b287494e75663d09130749
jenkins-bot [Sat, 16 Mar 2019 03:03:28 +0000 (03:03 +0000)]
Merge "User: Remove redundant wgClockSkewFudge code"
jenkins-bot [Sat, 16 Mar 2019 03:01:28 +0000 (03:01 +0000)]
Merge "Remove wgSitesCacheFile and rebuildSitesCache.php (unused)"
jenkins-bot [Fri, 15 Mar 2019 23:17:41 +0000 (23:17 +0000)]
Merge "Localisation updates from https://translatewiki.net."
jenkins-bot [Fri, 15 Mar 2019 23:11:11 +0000 (23:11 +0000)]
Merge "Make EditPage::getTemplates avoid page table query spam"
jenkins-bot [Fri, 15 Mar 2019 22:57:31 +0000 (22:57 +0000)]
Merge "rdbms: lower the log channel severity of LoadMonitor::getServerStates"
jenkins-bot [Fri, 15 Mar 2019 22:03:29 +0000 (22:03 +0000)]
Merge "Remove empty and unnecessary /* @{{ … */ comments"
jenkins-bot [Fri, 15 Mar 2019 21:46:07 +0000 (21:46 +0000)]
Merge "Fix WatchedItemStore last-seen stashing logic"
Translation updater bot [Fri, 15 Mar 2019 21:05:39 +0000 (22:05 +0100)]
Localisation updates from https://translatewiki.net.
Change-Id: I910aa8cc077a12f2a7ef00f41087f5c3e08ab0d4
Timo Tijhof [Fri, 15 Mar 2019 00:05:52 +0000 (00:05 +0000)]
User: Remove redundant wgClockSkewFudge code
Ensuring the new value is at least as high as 1 second higher
than the current value is sufficient.
The main code paths using this are checkAndSetTouched (for user group
changes) and saveSettings(), both of which use makeUpdateConditions() which
ensures we bail out if something else already wrote to it in the mean time.
As such, there is no longer a need to make sure our time is higher than
something another server may have written, given that is no longer something
we support.
This variable was introduced in 2005 (MW 1.4) with r9403 (
1d12276bcb3),
and factored out as newTouchedTimestamp() in 2007 (MW 1.8)
with r16772 (
c1094ba9876).
Change-Id: I940fb0dd125286a4a348c11e2c8d197f9288a75d
Timo Tijhof [Thu, 14 Mar 2019 19:46:19 +0000 (19:46 +0000)]
Remove wgSitesCacheFile and rebuildSitesCache.php (unused)
This seems to have been intended as optimization for SiteStore,
but was never used as far as I can tell. Instead, SiteStore is
already cached via LocalServerCache (APC).
Keep the FileBasedSiteLookup class for one release cycle in case
third parties not indexed by MediaWiki Codesearch are using it.
== History
* 2013: Report of high memcached usage by Wikibase via SiteStore.
* 2014: Lazy-load the data in Wikibase (
d3f2e99cb6).
* 2014: Implement the file-based cache (via T47532 and
90f6efc360fd5).
* 2015: Use local-server cache (APC), per T58602.
The file-based code was never used. The related task marked
invalid (T47532).
Change-Id: I8e2d9edcf3880149f824cc3de37793ca57435b49
Arlo Breault [Fri, 15 Mar 2019 19:41:22 +0000 (15:41 -0400)]
parser: Rename $lastSection to $lastParagraph
This now at least matches the function names even though what's actually
meant is more like 'block-level tag'. Section is a poor choice of name
since there're wikitext sections unrelated to this.
Change-Id: Ic83aff4d862800b778441c28884194480b7e7d96
Aaron Schulz [Fri, 12 Oct 2018 20:49:25 +0000 (13:49 -0700)]
Make DeferredUpdates enqueue updates that failed to run when possible
Bug: T206288
Bug: T206283
Change-Id: I6025bcc7d68cf214d291191d4044a66cdeff108b
jenkins-bot [Fri, 15 Mar 2019 19:09:57 +0000 (19:09 +0000)]
Merge "deferred: Remove deprecated CdnCacheUpdate::newSimplePurge"
Aaron Schulz [Fri, 15 Mar 2019 18:41:03 +0000 (11:41 -0700)]
rdbms: document that IDatabase::selectFieldValues() keeps the order
Change-Id: I068a938121949509fd3bf95047dffbaec41c5854
C. Scott Ananian [Fri, 15 Mar 2019 18:16:33 +0000 (14:16 -0400)]
Revert "Temporarily trim leading/trailing whitespace from parser test clauses"
This reverts commit
0363dbf98e6b71e92d439e0e2020bb388cc2aea2, since
T208070 is now merged.
Bug: T208070
Depends-On: I05511aee275238954f22db78616b19ce10cd6490
Depends-On: I120ca25a77b7b933de4afddd1d458e36a95e26da
Depends-On: I47d1d9620031036b9497cacf70b34a45c3e5f409
Depends-On: I6119b4af9632496dbda81c3a3951c55217e7c2d5
Depends-On: I584f74e2ba0d14c2975fb43cc53c5e26080e6fc7
Depends-On: Ie70e1915c172d2d67b3b8b90eb35f753b800f61e
Depends-On: I74953d5de765a2245a2999f17c7ae1cf49376bd1
Change-Id: I63f60b2e8beea9dde883c4ad65d0bd4411f93e70
Arlo Breault [Tue, 23 Oct 2018 23:26:51 +0000 (19:26 -0400)]
parser: Omit outputting newline after final line
Bug: T208070
Depends-On: I47d1d9620031036b9497cacf70b34a45c3e5f409
Depends-On: I6119b4af9632496dbda81c3a3951c55217e7c2d5
Depends-On: I584f74e2ba0d14c2975fb43cc53c5e26080e6fc7
Depends-On: Ie70e1915c172d2d67b3b8b90eb35f753b800f61e
Change-Id: I120ca25a77b7b933de4afddd1d458e36a95e26da
Arlo Breault [Tue, 23 Oct 2018 22:47:48 +0000 (18:47 -0400)]
parser: Remove trailing newline after prefixes have been cleared
Bug: T208070
Depends-On: I74953d5de765a2245a2999f17c7ae1cf49376bd1
Change-Id: I05511aee275238954f22db78616b19ce10cd6490
C. Scott Ananian [Fri, 15 Mar 2019 18:15:26 +0000 (14:15 -0400)]
Temporarily trim leading/trailing whitespace from parser test clauses
This allows us to break a circular dependency in the patches for T208070.
It will be reverted as soon as T208070 is merged.
Bug: T208070
Change-Id: I3da235cb83efa424f0cf1cf4fc7233240fcdf6b2
Aaron Schulz [Fri, 12 Oct 2018 20:45:23 +0000 (13:45 -0700)]
Split out new RefreshSecondaryDataUpdate class
Make DerivedPageDataUpdater bundle all the related DataUpdate tasks
on page change with a RefreshSecondaryDataUpdate wrapper. If one of
the DataUpdate tasks fails, then the entire bundle of updates can be
re-run in the form of enqueueing a RefreshLinksJob instance (these
jobs are idempotent). If several of the bundled tasks fail, it is easy
for DeferredUpdates to know that only one RefreshLinksJob should be
enqueued.
The goal is to make DataUpdate tasks more reliable and resilient.
Most of these deferred update failures are due to ephemeral problems
like lock contention. Since the job queue is already able to reliably
store and retry jobs, and the time that a regular web request can spend
in post-send is more limited, it makes the most sense to just enqueue
tasks as jobs if they fail post-send.
Make LinkUpdate no longer defined as enqueueable as RefreshLinksJob
since they are not very congruent (LinksUpdate only does some of the
work that RefreshLinksJob does). Only the wrapper, with the bundle of
DataUpdate instances, is congruent to RefreshLinksJob.
This change does not itself implement the enqueue-on-failure logic
in DeferredUpdates, but is merely a prerequisite.
Bug: T206288
Change-Id: I191103c1aeff4c9fedbf524ee387dad9bdf5fab8
Thiemo Kreuz [Fri, 15 Mar 2019 13:53:12 +0000 (14:53 +0100)]
Remove empty and unnecessary /* @{{ … */ comments
This was the only comment I could find that uses two curly brackets
for some reason. There are a few more with one curly bracket.
Change-Id: Iaed631916064e6be4895edd4c7a3d7de491e16c2
jenkins-bot [Fri, 15 Mar 2019 12:39:12 +0000 (12:39 +0000)]
Merge "Add /** @var SplFileInfo $fileInfo */ docs where needed"
jenkins-bot [Fri, 15 Mar 2019 10:53:42 +0000 (10:53 +0000)]
Merge "Fix ChangeTagsTest failing on Postgres"
Aaron Schulz [Fri, 15 Mar 2019 09:24:31 +0000 (02:24 -0700)]
Make EditPage::getTemplates avoid page table query spam
This changes TemplatesOnThisPageFormatter to use LinkBatch
and LinkBatch/LinkCache to manage the field.
Change-Id: I523158cdffc599d4d29bab91c98e55085130cee2
Thiemo Kreuz [Fri, 15 Mar 2019 09:10:33 +0000 (10:10 +0100)]
Fix ChangeTagsTest failing on Postgres
The order of elements returned by the SELECT is not guaranteed. But the
assertEquals() can't know this. It does not know how to identify the two
objects, other than by their array index.
Using assertArrayEquals() would fix this. But I honestly don't like this
helper method. It is expensive, for example. So I went for an ORDER BY.
An example for this failure can be seen here:
https://integration.wikimedia.org/ci/job/mediawiki-quibble-vendor-postgres-php70-docker/2484/console
Change-Id: I284d13d21b9bc34270307e78430180d94fc6665e
Aaron Schulz [Fri, 15 Mar 2019 03:43:13 +0000 (20:43 -0700)]
rdbms: lower the log channel severity of LoadMonitor::getServerStates
Change-Id: If42e3973c3a4ce5baff628befd58d4b7b3a2909b
Aaron Schulz [Thu, 14 Mar 2019 02:29:36 +0000 (19:29 -0700)]
rdbms: improve database connection loss handling
Avoid throwing errors in Database::replaceLostConnection()
Bug: T218226
Change-Id: Id07f305816c61f62aaf1ae893f5d37c03c865f46
Krinkle [Fri, 15 Mar 2019 01:16:53 +0000 (01:16 +0000)]
Merge "rdbms: make Database::query() more readable and consistent"