lhc/web/wiklou.git
4 years agoMerge "Migrate various callers away from wfWikiId() to WikiMap"
jenkins-bot [Fri, 12 Jul 2019 17:33:51 +0000 (17:33 +0000)]
Merge "Migrate various callers away from wfWikiId() to WikiMap"

4 years agordbms: add ILoadBalancer::getReplicaResumePos method
Aaron Schulz [Tue, 18 Jun 2019 23:57:32 +0000 (00:57 +0100)]
rdbms: add ILoadBalancer::getReplicaResumePos method

This does what ChronologyProtector wants more rigorously and is better
named. Not all replica servers will have the same position, so they
should be compared to get the highest one.

Simplify the getMasterPos() method to only return master positions
as the other current callers do not need anything else. It will now
connect if needed as well. This should make the method naming better.

Reducing the use of replica derived replication postitions (instead
of those from the master) makes certain GTID issues less likely,
such as the matter of obsolete domain IDs.

Increase general test coverage of LoadBalancer.

Bug: T224422
Change-Id: I5420721ee339a24d09c26c38709500c7bbe797c2

4 years agoMerge "rdbms: better normalize and document constructor $params in Database"
jenkins-bot [Fri, 12 Jul 2019 16:58:38 +0000 (16:58 +0000)]
Merge "rdbms: better normalize and document constructor $params in Database"

4 years agordbms: better normalize and document constructor $params in Database
Aaron Schulz [Thu, 11 Jul 2019 20:41:52 +0000 (13:41 -0700)]
rdbms: better normalize and document constructor $params in Database

Change-Id: I6531cd3a34d7d6bdf277db779301d88ca1e45a95

4 years agoFix stale client caching of history pages with $wgShowUpdateMarker enabled
Aaron Schulz [Thu, 9 May 2019 00:21:36 +0000 (17:21 -0700)]
Fix stale client caching of history pages with $wgShowUpdateMarker enabled

Change-Id: I5b9d986e4f34166f2a1602129d2e01573bfe7ac5

4 years agoMerge "Add helper for HTTPFileStreamer header syntax"
jenkins-bot [Fri, 12 Jul 2019 16:07:54 +0000 (16:07 +0000)]
Merge "Add helper for HTTPFileStreamer header syntax"

4 years agoMerge "Update wikimedia/object-factory to 2.1.0"
jenkins-bot [Fri, 12 Jul 2019 15:33:57 +0000 (15:33 +0000)]
Merge "Update wikimedia/object-factory to 2.1.0"

4 years agoUpdate wikimedia/object-factory to 2.1.0
Gergő Tisza [Fri, 12 Jul 2019 14:47:38 +0000 (16:47 +0200)]
Update wikimedia/object-factory to 2.1.0

Vendor patch: I5571d3ea4b50a866b2444af648b22b1c5a1b5ebe

Change-Id: If5884a31c3f468fc55502c27e978f2eb2668441d

4 years agoMerge "RedirectSpecialPage: handle interwiki redirects."
jenkins-bot [Fri, 12 Jul 2019 12:53:36 +0000 (12:53 +0000)]
Merge "RedirectSpecialPage: handle interwiki redirects."

4 years agoRedirectSpecialPage: handle interwiki redirects.
daniel [Fri, 12 Jul 2019 10:13:33 +0000 (12:13 +0200)]
RedirectSpecialPage: handle interwiki redirects.

Previously, WikiPage::performRequest() would assume that Titles returned
by RedirectSpecialPage::getRedirect() are local pages, and would set
$wgTitle to whatever was returned. That would lead to a confused state
where the skin would try to render for an interwiki Title.

Instead, WikiPage::performRequest() should wrap the interwiki redirect
in a call to Special:GoToInterwiki/xyz, just like
Title::getFullUrlForRedirect() does, but still avoid the HTTP redirect,
to avoid leaking private information via view counters (T109724).

There are two things to test:
1) call Special:MyLanguage with an interwiki prefix,
   e.g. Special:MyLanguage/wikipedia:XYZ.
2) create a page that contains an interwiki redirect,
   e.g. #REDIRECT [[wikipedia:XYZ]], then call Special:MyLanguage
   for that page.

For these tests, the user language should be the same as the content
language. That is the critical case. If the user language differs
from the content language, the problem would be obscured by another
bug which is addressed by Ib4cbeec47a877c473.

Bug: T227700
Change-Id: I2852c5a9774f0c76e49f1e3876fcfe85a305f9ce

4 years agoMerge "Some fixes to page updater docs"
jenkins-bot [Fri, 12 Jul 2019 08:40:28 +0000 (08:40 +0000)]
Merge "Some fixes to page updater docs"

4 years agoMerge "resourceloader: Remove use of object registering in test suites"
jenkins-bot [Fri, 12 Jul 2019 01:58:53 +0000 (01:58 +0000)]
Merge "resourceloader: Remove use of object registering in test suites"

4 years agoMerge "mediawiki.dic: Remove Zero-related stuff"
jenkins-bot [Fri, 12 Jul 2019 01:29:22 +0000 (01:29 +0000)]
Merge "mediawiki.dic: Remove Zero-related stuff"

4 years agoresourceloader: Remove use of object registering in test suites
Timo Tijhof [Thu, 11 Jul 2019 19:48:57 +0000 (20:48 +0100)]
resourceloader: Remove use of object registering in test suites

This was done as a "clever" shortcut to make sure tests a little
but shorter, but also made them less consistent with normal code.

Remove this in favour of 'class' or 'factory' options as needed.
Also remove a bunch of unneeded register() calls.

The tests cover everything affected by this change.

Side fix - isFileModule should reject modules with 'factory'
the same way it rejected raw objects and non-FileModule 'class'
cases already. This is now covered by tests as well.

Bug: T222637
Change-Id: I3996317dbcd780cc6e0f82c84e769c08a3fc42bb

4 years agoMigrate various callers away from wfWikiId() to WikiMap
Aaron Schulz [Thu, 4 Jul 2019 07:31:06 +0000 (00:31 -0700)]
Migrate various callers away from wfWikiId() to WikiMap

Change-Id: Idc2980c05873c428fb5ffa6ab89f723d33217a8e

4 years agoAdd helper for HTTPFileStreamer header syntax
Gergő Tisza [Sat, 20 Apr 2019 00:12:59 +0000 (17:12 -0700)]
Add helper for HTTPFileStreamer header syntax

Adds a helper function for transforming an intuitive header array
to the peculiar syntax expected by HTTPFileStreamer and the related
FileRepo/FileBackend streaming methods.

Change-Id: Idac9281b0f1b3c93f4ec1d1c3f336db110e5d260

4 years agoMerge "Log errors in DeferredUpdates::handleUpdateQueue()"
jenkins-bot [Thu, 11 Jul 2019 22:50:50 +0000 (22:50 +0000)]
Merge "Log errors in DeferredUpdates::handleUpdateQueue()"

4 years agoMerge "Reduce contention of getScopedLockAndFlush() callers by using the DB domain...
jenkins-bot [Thu, 11 Jul 2019 22:47:11 +0000 (22:47 +0000)]
Merge "Reduce contention of getScopedLockAndFlush() callers by using the DB domain in the key"

4 years agoMerge "Avoid using deprecated SiteStatsUpdate constructor"
jenkins-bot [Thu, 11 Jul 2019 22:42:44 +0000 (22:42 +0000)]
Merge "Avoid using deprecated SiteStatsUpdate constructor"

4 years agoMerge "Optimize JobQueue utilization in UserGroupMembership::insert()"
jenkins-bot [Thu, 11 Jul 2019 22:42:37 +0000 (22:42 +0000)]
Merge "Optimize JobQueue utilization in UserGroupMembership::insert()"

4 years agoMerge "Remove unused methods and bogus method call in Title"
jenkins-bot [Thu, 11 Jul 2019 22:42:31 +0000 (22:42 +0000)]
Merge "Remove unused methods and bogus method call in Title"

4 years agoMerge "Fix various fatals and IDEA warnings in CopyFileBackend"
jenkins-bot [Thu, 11 Jul 2019 22:35:17 +0000 (22:35 +0000)]
Merge "Fix various fatals and IDEA warnings in CopyFileBackend"

4 years agoReduce contention of getScopedLockAndFlush() callers by using the DB domain in the key
Aaron Schulz [Sat, 6 Jul 2019 22:57:20 +0000 (15:57 -0700)]
Reduce contention of getScopedLockAndFlush() callers by using the DB domain in the key

Change-Id: Ie9fb6a9ff384c72cca559f74d8e409d108207ae3

4 years agoMerge "Add "help" links for Special:BrokenRedirects, Special:DoubleRedirects, and...
jenkins-bot [Thu, 11 Jul 2019 22:16:22 +0000 (22:16 +0000)]
Merge "Add "help" links for Special:BrokenRedirects, Special:DoubleRedirects, and Special:ListRedirects"

4 years agoMerge "Release notes for ResultWrapper indexing change"
jenkins-bot [Thu, 11 Jul 2019 22:15:06 +0000 (22:15 +0000)]
Merge "Release notes for ResultWrapper indexing change"

4 years agoLog errors in DeferredUpdates::handleUpdateQueue()
Aaron Schulz [Thu, 11 Jul 2019 19:47:48 +0000 (12:47 -0700)]
Log errors in DeferredUpdates::handleUpdateQueue()

Other cleanups and fixes:
* Split up handleUpdate() method into run() and jobify()
* Handle Throwable errors
* Use 'cli' in stats keys in CLI mode instead of "get"
* Tweak some code comments

Change-Id: I7749465df2d7b58e66ee5ebdd3c3d25aea52eeb3

4 years agoMerge "rdbms: cleanup some Database error message wording for consistency"
jenkins-bot [Thu, 11 Jul 2019 21:52:23 +0000 (21:52 +0000)]
Merge "rdbms: cleanup some Database error message wording for consistency"

4 years agoMerge "rdbms: cleanup DatabaseSqlite::lock() error handling"
jenkins-bot [Thu, 11 Jul 2019 21:50:38 +0000 (21:50 +0000)]
Merge "rdbms: cleanup DatabaseSqlite::lock() error handling"

4 years agoMerge "WatchedItemStore: Fix fatal when revision is deleted"
jenkins-bot [Thu, 11 Jul 2019 21:46:48 +0000 (21:46 +0000)]
Merge "WatchedItemStore: Fix fatal when revision is deleted"

4 years agordbms: cleanup some Database error message wording for consistency
Aaron Schulz [Sat, 6 Jul 2019 19:36:54 +0000 (12:36 -0700)]
rdbms: cleanup some Database error message wording for consistency

Change-Id: I7b338e6e856c62ecaab2ef97f76431c2220b430d

4 years agoMerge "installer: make SqliteInstaller set "synchronous" for the job queue DB like...
jenkins-bot [Thu, 11 Jul 2019 21:30:40 +0000 (21:30 +0000)]
Merge "installer: make SqliteInstaller set "synchronous" for the job queue DB like the other DBs"

4 years agoMerge "Add NS_MEDIAWIKI to LinkCache::isCacheable() to help MessageBlobStore cache...
jenkins-bot [Thu, 11 Jul 2019 21:29:19 +0000 (21:29 +0000)]
Merge "Add NS_MEDIAWIKI to LinkCache::isCacheable() to help MessageBlobStore cache regeneration"

4 years agoMerge "Make MapCacheLRU::get() accept a default value and improve $maxAge default"
jenkins-bot [Thu, 11 Jul 2019 21:16:28 +0000 (21:16 +0000)]
Merge "Make MapCacheLRU::get() accept a default value and improve $maxAge default"

4 years agoMerge "Correctly distinguish the latest revision in action=history"
jenkins-bot [Thu, 11 Jul 2019 21:12:10 +0000 (21:12 +0000)]
Merge "Correctly distinguish the latest revision in action=history"

4 years agoMerge "Don't show tools on history view when no revisions can be shown"
jenkins-bot [Thu, 11 Jul 2019 21:11:45 +0000 (21:11 +0000)]
Merge "Don't show tools on history view when no revisions can be shown"

4 years agoMerge "jobqueue: fix IDEA warnings in JobQueueRedis"
jenkins-bot [Thu, 11 Jul 2019 21:02:08 +0000 (21:02 +0000)]
Merge "jobqueue: fix IDEA warnings in JobQueueRedis"

4 years agoMerge "Add ResultWrapper/FakeResultWrapper tests"
jenkins-bot [Thu, 11 Jul 2019 20:58:38 +0000 (20:58 +0000)]
Merge "Add ResultWrapper/FakeResultWrapper tests"

4 years agordbms: cleanup DatabaseSqlite::lock() error handling
Aaron Schulz [Sat, 6 Jul 2019 19:32:54 +0000 (12:32 -0700)]
rdbms: cleanup DatabaseSqlite::lock() error handling

Consolidate more code, including error checks, in open() like with
the other Database subclasses.

Change-Id: I55acae55a219f66c7e45b3a06d76b1d8741a4159

4 years agoMerge "Add help links to core special pages"
jenkins-bot [Thu, 11 Jul 2019 20:07:11 +0000 (20:07 +0000)]
Merge "Add help links to core special pages"

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 11 Jul 2019 20:05:34 +0000 (22:05 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ie478cd3901ba6be3946f48048ccecf4c35d7f0e6

4 years agoinstaller: make SqliteInstaller set "synchronous" for the job queue DB like the other DBs
Aaron Schulz [Thu, 11 Jul 2019 20:04:43 +0000 (13:04 -0700)]
installer: make SqliteInstaller set "synchronous" for the job queue DB like the other DBs

Change-Id: Ifc51ea735020fd7557c99b02bb7426d78b5f8b47

4 years agoAdd ResultWrapper/FakeResultWrapper tests
Aaron Schulz [Wed, 10 Jul 2019 19:53:06 +0000 (12:53 -0700)]
Add ResultWrapper/FakeResultWrapper tests

Bug: T227665
Change-Id: I0709d0fb55640756b19614552b42b6b8341959f4

4 years agoAdd help links to core special pages
DannyS712 [Thu, 11 Jul 2019 18:28:59 +0000 (18:28 +0000)]
Add help links to core special pages

Bug: T227534
Change-Id: I832507223b5e006dfeaf041a071e9b7c280c6b64

4 years agoMerge "resourceloader: Omit parameter 'lang' from image URLs when not vary"
jenkins-bot [Thu, 11 Jul 2019 19:18:57 +0000 (19:18 +0000)]
Merge "resourceloader: Omit parameter 'lang' from image URLs when not vary"

4 years agoMerge "Move LanguageCodeTest from integration to unit"
jenkins-bot [Thu, 11 Jul 2019 19:12:15 +0000 (19:12 +0000)]
Merge "Move LanguageCodeTest from integration to unit"

4 years agoresourceloader: Omit parameter 'lang' from image URLs when not vary
Fomafix [Thu, 27 Jun 2019 12:28:17 +0000 (14:28 +0200)]
resourceloader: Omit parameter 'lang' from image URLs when not vary

The parameter 'lang' is only added to the URL when the image vary on the
language or on the direction.

Also omit the parameter 'lang' when the value is equal to
ResourceLoaderContext::DEFAULT_LANG.

This change makes the URLs shorter and reduces the size of the
stylesheets.

This change also improves caching because the URLs do not vary on the
language for the same image.

Change-Id: Id7d8ecc7d95747f3c157f9abc12e8489e5085aff

4 years agoMerge "Speed up code coverage generation for local development"
jenkins-bot [Thu, 11 Jul 2019 19:05:14 +0000 (19:05 +0000)]
Merge "Speed up code coverage generation for local development"

4 years agoMove LanguageCodeTest from integration to unit
Amir Sarabadani [Thu, 11 Jul 2019 18:41:42 +0000 (20:41 +0200)]
Move LanguageCodeTest from integration to unit

76 more unit tests

Change-Id: I68e9ffff30a744ef6b31598e0176e67892defb95

4 years agoMerge "Stop using wfDebugLog in LocalisationCache"
jenkins-bot [Thu, 11 Jul 2019 18:50:07 +0000 (18:50 +0000)]
Merge "Stop using wfDebugLog in LocalisationCache"

4 years agoMerge "Use SessionManagerInterface in PHPSessionHandler"
jenkins-bot [Thu, 11 Jul 2019 18:48:25 +0000 (18:48 +0000)]
Merge "Use SessionManagerInterface in PHPSessionHandler"

4 years agoMerge "objectcache: normalize BagOStuff method overriding pattern for *Multi() methods"
jenkins-bot [Thu, 11 Jul 2019 18:46:09 +0000 (18:46 +0000)]
Merge "objectcache: normalize BagOStuff method overriding pattern for *Multi() methods"

4 years agoAllow PHP version check to execute on older version of PHP
Bill Pirkle [Thu, 11 Jul 2019 13:54:47 +0000 (08:54 -0500)]
Allow PHP version check to execute on older version of PHP

Gerrit change 522014 (merged as b8b2514) mostly corrected this
issue, but one line was missed. Fixing that now.

Bug: T213893
Change-Id: I0a57f5902f1af2619fe47f7ee53695d3fd03adaf

4 years agoRelease notes for ResultWrapper indexing change
Gergő Tisza [Thu, 11 Jul 2019 13:37:31 +0000 (15:37 +0200)]
Release notes for ResultWrapper indexing change

Bug: T227665
Change-Id: I81c0f715688a581edc193b96b96db93ff7679670

4 years agoobjectcache: normalize BagOStuff method overriding pattern for *Multi() methods
Aaron Schulz [Thu, 11 Jul 2019 11:32:35 +0000 (04:32 -0700)]
objectcache: normalize BagOStuff method overriding pattern for *Multi() methods

Change-Id: I1bebb60307b1a166461cb5f9a55a79194cc0e363

4 years agoRelease notes for deprecating User::getRights() and breaking User::$mRights
Gergő Tisza [Thu, 11 Jul 2019 10:18:08 +0000 (12:18 +0200)]
Release notes for deprecating User::getRights() and breaking User::$mRights

The actual change was in I88992403.

Change-Id: Ibecec431001a53db4502cf0377342c8aacc7bebe

4 years agojobqueue: fix IDEA warnings in JobQueueRedis
Aaron Schulz [Sat, 6 Jul 2019 04:35:04 +0000 (21:35 -0700)]
jobqueue: fix IDEA warnings in JobQueueRedis

Change-Id: I7258191cbae22028d76a52c005f44b7347bd86aa

4 years agoMerge "Various fixes and simplifications to RefreshLinksJob::runTitle()"
jenkins-bot [Thu, 11 Jul 2019 06:19:24 +0000 (06:19 +0000)]
Merge "Various fixes and simplifications to RefreshLinksJob::runTitle()"

4 years agomediawiki.dic: Remove Zero-related stuff
Max Semenik [Thu, 11 Jul 2019 06:14:45 +0000 (23:14 -0700)]
mediawiki.dic: Remove Zero-related stuff

Change-Id: I5f0d8314f754d0331fe06af551b3f65df192752a

4 years agoVarious fixes and simplifications to RefreshLinksJob::runTitle()
Aaron Schulz [Tue, 2 Apr 2019 08:25:48 +0000 (01:25 -0700)]
Various fixes and simplifications to RefreshLinksJob::runTitle()

* Remove logic for saving slow-to-render parser output. This has
  not worked ever since DerivedPageDataUpdater was introduced.
* Make the logic to use cached output actually work. This was
  also broken since DerivedPageDataUpdater was added. In order
  to pass the output, add a known-revision-output parameter
  to both WikiPage::doSecondaryUpdates() and
  DerivedPageDataUpdater::prepareUpdate().
* Also factored out some helper methods from runForTitle() in
  RefreshLinksJob to make it more readable and avoid the need
  for multiple transaction round commit calls. This makes the
  case of multiple-title jobs less likely to break again.
* Make use of RefreshLinksJob::runForTitle() return value.
* Add unit tests for multiple-title job case.

Change-Id: I0cd13c424a87653b5a7253c42cd48fe43befd692

4 years agoSome fixes to page updater docs
Tim Starling [Thu, 11 Jul 2019 05:59:56 +0000 (15:59 +1000)]
Some fixes to page updater docs

A couple of typos, and also remove a thing that says isDeleted() should
be skipped for the current revision -- isDeleted() does not do a DB
query so there's no performance rationale for spreading assumptions and
increasing complexity in that way.

Change-Id: I661a6889618f188a9aa72f2f9a2c2ebf69ba09c4

4 years agoMerge "Allow PHP version check to execute on older versions of PHP"
jenkins-bot [Thu, 11 Jul 2019 04:00:22 +0000 (04:00 +0000)]
Merge "Allow PHP version check to execute on older versions of PHP"

4 years agoMerge "Html: Make linkButton() documentation less confusing"
jenkins-bot [Thu, 11 Jul 2019 03:56:07 +0000 (03:56 +0000)]
Merge "Html: Make linkButton() documentation less confusing"

4 years agoAllow PHP version check to execute on older versions of PHP
Bill Pirkle [Thu, 11 Jul 2019 02:16:49 +0000 (21:16 -0500)]
Allow PHP version check to execute on older versions of PHP

A change to update.php used the null coalesce (??) operator.
While this is normally fine, the code in question executes
before the PHP version check, and causes an unfriendly PHP
error rather than the intended helpful error. Use the older-style
isset() call instead, so that the PHP version check will get
a chance to execute.

Bug: T213893
Change-Id: I22e4a24bed9e0b29e08afc7b9468e7bfd81d7d57

4 years agoMerge "Normalize the code style of some ResultWrapper iteration loops"
jenkins-bot [Thu, 11 Jul 2019 02:10:20 +0000 (02:10 +0000)]
Merge "Normalize the code style of some ResultWrapper iteration loops"

4 years agoMerge "Update $wgMainStash comments and merge in those from a deprecated ObjectCache...
jenkins-bot [Thu, 11 Jul 2019 02:10:14 +0000 (02:10 +0000)]
Merge "Update $wgMainStash comments and merge in those from a deprecated ObjectCache method"

4 years agordbms: avoid dbSchema() in Database::replaceLostConnection() and Database::__clone()
Aaron Schulz [Thu, 11 Jul 2019 01:21:51 +0000 (18:21 -0700)]
rdbms: avoid dbSchema() in Database::replaceLostConnection() and Database::__clone()

Since dbSchema() always casts the result to a string, using this method
with a call to open() is broken if the RDBMs does not support DB schemas
and thus requires null

Follows-up 7911da9c6f (last week), which added the check in
DatabaseMysqlBase::open() check. Also follows fe0af6cad (last year),
which made dbSchema() consistently return string. Before that, an
implicit null was passed in from Database::factory for mysql, which hid
the class default of empty string.

Bug: T227708
Change-Id: I67207fbaa39c5cc3fe062077cc654f048090e009

4 years agoMerge "objectcache: remove inheritence from CachedBagOStuff"
jenkins-bot [Wed, 10 Jul 2019 23:17:24 +0000 (23:17 +0000)]
Merge "objectcache: remove inheritence from CachedBagOStuff"

4 years agoMerge "objectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff"
jenkins-bot [Wed, 10 Jul 2019 23:16:23 +0000 (23:16 +0000)]
Merge "objectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff"

4 years agoHtml: Make linkButton() documentation less confusing
Roan Kattouw [Wed, 10 Jul 2019 23:02:23 +0000 (16:02 -0700)]
Html: Make linkButton() documentation less confusing

The documentation for the first parameter said it was both "raw HTML"
and "not escaped", but those phrases have opposite meanings. Clarify that
this parameter takes plain text that will be escaped (so not raw HTML),
and rename the parameter from $contents (typically used to mean HTML) to
$text.

Change-Id: I44d6de08a68c493935b2ceff58fac6c51bc45d12

4 years agoMake MapCacheLRU::get() accept a default value and improve $maxAge default
Aaron Schulz [Wed, 10 Jul 2019 03:03:14 +0000 (20:03 -0700)]
Make MapCacheLRU::get() accept a default value and improve $maxAge default

Change-Id: If562e1745ffed37b0f1ed5382a5a397fc68aac8e

4 years agoStop using wfDebugLog in LocalisationCache
Amir Sarabadani [Tue, 9 Jul 2019 10:51:49 +0000 (12:51 +0200)]
Stop using wfDebugLog in LocalisationCache

Using logger interface, this would fix some unit tests, plus it
avoids using global functions and ease the way for proper dependency
injection

Change-Id: I9a545c70ace08e2fd0b832d75d6a2362a83af21e

4 years agoNormalize the code style of some ResultWrapper iteration loops
Aaron Schulz [Wed, 10 Jul 2019 22:06:05 +0000 (15:06 -0700)]
Normalize the code style of some ResultWrapper iteration loops

Change-Id: Iced52ae65d31d1ca0cd2c64ebc9ab56b2aef9617

4 years agoAdd NS_MEDIAWIKI to LinkCache::isCacheable() to help MessageBlobStore cache regeneration
Aaron Schulz [Wed, 10 Jul 2019 22:18:48 +0000 (15:18 -0700)]
Add NS_MEDIAWIKI to LinkCache::isCacheable() to help MessageBlobStore cache regeneration

Change-Id: I55550a0ea5b9db0c87a67bb8bc06e846db58b9fe

4 years agoobjectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff
Aaron Schulz [Sat, 29 Jun 2019 19:12:03 +0000 (12:12 -0700)]
objectcache: use OPT_TCP_NODELAY for MemcachedPeclBagOStuff

Clean up the option setting code in __construct() as well
and make it more strict in terms of checking bogus options

Make mctest.php recognize when memcached is used more easily

Change-Id: I77be506e80478ddbb4fcfa44d82aba8162fa984f

4 years agoMerge "Allow false as return type of FileBackendStore::doGetFileXAttributes"
jenkins-bot [Wed, 10 Jul 2019 21:49:59 +0000 (21:49 +0000)]
Merge "Allow false as return type of FileBackendStore::doGetFileXAttributes"

4 years agoobjectcache: remove inheritence from CachedBagOStuff
Aaron Schulz [Wed, 10 Jul 2019 21:32:08 +0000 (14:32 -0700)]
objectcache: remove inheritence from CachedBagOStuff

Change-Id: I24e5b6a95d74730c1679bdc7b7b394adcb6bd794

4 years agoMerge "build: Updating mediawiki/mediawiki-phan-config to 0.6.1"
jenkins-bot [Wed, 10 Jul 2019 21:23:53 +0000 (21:23 +0000)]
Merge "build: Updating mediawiki/mediawiki-phan-config to 0.6.1"

4 years agoUpdate $wgMainStash comments and merge in those from a deprecated ObjectCache method
Aaron Schulz [Wed, 10 Jul 2019 21:02:41 +0000 (14:02 -0700)]
Update $wgMainStash comments and merge in those from a deprecated ObjectCache method

Change-Id: I807f36d9c51476a969d7046d57bfc32cf37c2745

4 years agoMerge "PHPUnit bootstrap: less aggressive unsetting of globals"
jenkins-bot [Wed, 10 Jul 2019 20:58:00 +0000 (20:58 +0000)]
Merge "PHPUnit bootstrap: less aggressive unsetting of globals"

4 years agoMerge "User: support setting custom fields + array autocreation in non-existent field"
jenkins-bot [Wed, 10 Jul 2019 20:53:02 +0000 (20:53 +0000)]
Merge "User: support setting custom fields + array autocreation in non-existent field"

4 years agoUser: support setting custom fields + array autocreation in non-existent field
Gergő Tisza [Wed, 10 Jul 2019 18:46:21 +0000 (20:46 +0200)]
User: support setting custom fields + array autocreation in non-existent field

I889924037 added a __set method which did not actually handle fields being set.
For better or worse, setting custom fields on ubiquitous objects like User is a
common form of in-process caching, so this is a B/C break; restore for now.

PHP allows creating an array in a previously non-existent object property
with $o->foo['bar'] = $val, but doesn't properly handle that on objects
which have magic getter/setter. Add an ugly hack to make it work (but warn).

Depends on I15090ae9e4b66ac25f631f6179c4394ce8c445a9.

Bug: T227688
Change-Id: I62b80ab4fa10de984cf2c879ab12d91b0fd9bc1c

4 years agoWatchedItemStore: Fix fatal when revision is deleted
Roan Kattouw [Wed, 10 Jul 2019 20:15:20 +0000 (13:15 -0700)]
WatchedItemStore: Fix fatal when revision is deleted

People following links from their watchlist emails to since-deleted
revisions were getting fatals from
WatchedItemStore::getNotificationTimestamp().

It's hard to tell whether returning null or false is the right thing to
do here, because this function can return both and the difference is not
documented, and I wasn't able to find any callers that care about the
distinction.

Bug: T226741
Change-Id: Ib2a836099343f4c161227266dbeeafbc76dccc2b

4 years agoMerge "Localisation updates from https://translatewiki.net."
jenkins-bot [Wed, 10 Jul 2019 19:58:37 +0000 (19:58 +0000)]
Merge "Localisation updates from https://translatewiki.net."

4 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Wed, 10 Jul 2019 19:57:53 +0000 (21:57 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I1a847d840c4263f055261c78fc9b487fc0537ffe

4 years agoobjectcache: rename "slaveOnly" parameter to "replicaOnly" in SQLBagOStuff
Aaron Schulz [Wed, 10 Jul 2019 06:51:43 +0000 (23:51 -0700)]
objectcache: rename "slaveOnly" parameter to "replicaOnly" in SQLBagOStuff

Also removed redundant check

Change-Id: I9f454eb15f223f5a9816dca4510c1a9add540b49

4 years agoMerge "Tests: Assert that integration tests are not in unit test directory"
jenkins-bot [Wed, 10 Jul 2019 19:10:25 +0000 (19:10 +0000)]
Merge "Tests: Assert that integration tests are not in unit test directory"

4 years agoMerge "Pass in ServiceOptions to BlockManager"
jenkins-bot [Wed, 10 Jul 2019 18:02:43 +0000 (18:02 +0000)]
Merge "Pass in ServiceOptions to BlockManager"

4 years agoMerge "Tidy up conditions for applying a block from a cookie"
jenkins-bot [Wed, 10 Jul 2019 18:02:36 +0000 (18:02 +0000)]
Merge "Tidy up conditions for applying a block from a cookie"

4 years agoPHPUnit bootstrap: less aggressive unsetting of globals
Kosta Harlan [Wed, 10 Jul 2019 17:20:00 +0000 (13:20 -0400)]
PHPUnit bootstrap: less aggressive unsetting of globals

Previous approach caused breakage with "Notice: Undefined index: _SERVER"
messages, see e.g.
https://gerrit.wikimedia.org/r/c/mediawiki/core/+/521268#message-4502e6c209f53f6dc1c7cdf4f60e5045bbfb6ee4

Change-Id: Ief20e4e21fd99d219ebef865c603e336c2609ce2
Follows-Up: I16691fc8ac063705ba0c2bc63b96c4534ca8660b
Bug: T87781

4 years agoTests: Assert that integration tests are not in unit test directory
Kosta Harlan [Wed, 10 Jul 2019 17:41:44 +0000 (13:41 -0400)]
Tests: Assert that integration tests are not in unit test directory

Bug: T87781
Change-Id: If82efb1829095a6cf76435921f1328801508a70a

4 years agoLinker: Fix incorrect test added in Ib9816d8b
Brad Jorsch [Wed, 10 Jul 2019 17:30:03 +0000 (13:30 -0400)]
Linker: Fix incorrect test added in Ib9816d8b

The test was intended to check for whether we have a user ID *or* a user
name. Instead, it's checking if we have a user ID *and* a user name. And
it also failed to consider User:0.

Bug: T227656
Change-Id: Ia1b5c4a6ae028513b73a65cd2c885459327d29c3

4 years agoMerge "Make RouterTest extend MediawikiUnitTestCase and not integration"
jenkins-bot [Wed, 10 Jul 2019 17:28:35 +0000 (17:28 +0000)]
Merge "Make RouterTest extend MediawikiUnitTestCase and not integration"

4 years agobuild: Updating mediawiki/mediawiki-phan-config to 0.6.1
James D. Forrester [Mon, 10 Jun 2019 19:48:13 +0000 (12:48 -0700)]
build: Updating mediawiki/mediawiki-phan-config to 0.6.1

Change-Id: I370fed5248c8b243527cafb77d80ddb6f4bc7064

4 years agoMerge "Replace old URLs in SampleTest"
jenkins-bot [Wed, 10 Jul 2019 17:02:17 +0000 (17:02 +0000)]
Merge "Replace old URLs in SampleTest"

4 years agoMake RouterTest extend MediawikiUnitTestCase and not integration
Amir Sarabadani [Wed, 10 Jul 2019 16:47:39 +0000 (18:47 +0200)]
Make RouterTest extend MediawikiUnitTestCase and not integration

it's in unit directory, it causes things to break

Change-Id: Ibeafafde5a3b9f3f8e6fda0ceef8575aa544e20b

4 years agoMerge "bagostuff: optimize SqlBagOStuff and fix failing segmentation tests"
jenkins-bot [Wed, 10 Jul 2019 16:34:47 +0000 (16:34 +0000)]
Merge "bagostuff: optimize SqlBagOStuff and fix failing segmentation tests"

4 years agoMerge "rdbms: make IDatabase::isReadOnly() return true for replica DBs managed by...
jenkins-bot [Wed, 10 Jul 2019 16:12:54 +0000 (16:12 +0000)]
Merge "rdbms: make IDatabase::isReadOnly() return true for replica DBs managed by LoadBalancer"

4 years agoPass in ServiceOptions to BlockManager
Thalia [Wed, 26 Jun 2019 14:06:01 +0000 (15:06 +0100)]
Pass in ServiceOptions to BlockManager

Change-Id: Ic63d7ff35a71e36c4e6157e9d472e2870f95f00d

4 years agoTidy up conditions for applying a block from a cookie
Thalia [Wed, 26 Jun 2019 10:04:50 +0000 (11:04 +0100)]
Tidy up conditions for applying a block from a cookie

Change-Id: Id9dd6ae395f5bb811db4c741be9db8aa2eb6fb70

4 years agoMerge "Update OOUI to v0.33.2"
jenkins-bot [Wed, 10 Jul 2019 15:28:25 +0000 (15:28 +0000)]
Merge "Update OOUI to v0.33.2"