lhc/web/wiklou.git
8 years agoMerge "Remove paranoid title check from RefreshLinksJob::runForTitle"
jenkins-bot [Sun, 25 Oct 2015 07:12:41 +0000 (07:12 +0000)]
Merge "Remove paranoid title check from RefreshLinksJob::runForTitle"

8 years agoMerge "Install link to Manual:Combating_spam on the home page"
jenkins-bot [Sun, 25 Oct 2015 07:02:05 +0000 (07:02 +0000)]
Merge "Install link to Manual:Combating_spam on the home page"

8 years agoObjectFactory: avoid using ReflectionClass
Bryan Davis [Sat, 24 Oct 2015 18:42:07 +0000 (12:42 -0600)]
ObjectFactory: avoid using ReflectionClass

Add a new ObjectFactory::constructClassInstance() method that uses
a loop unrolling type of technique to avoid using ReflectionClass when
creating new class instances with 10 or fewer constructor arguments.

I really wanted to also include the use of PHP 5.6's `...` splat
operator when supported but there is no way to conditionally use a new
operator in a way that still allows older versions of PHP to parse the
same source file.

Bug: T115729
Change-Id: Ia29c4526f4bac51696654c9b0677cb3f70359966

8 years agoMerge "Fix bogus calls to encodeKey/decodeKey in the PHP memcached class"
jenkins-bot [Sat, 24 Oct 2015 23:39:50 +0000 (23:39 +0000)]
Merge "Fix bogus calls to encodeKey/decodeKey in the PHP memcached class"

8 years agoobjectcache: Remove outdated comment about back-compat defaults
Timo Tijhof [Sat, 24 Oct 2015 22:41:44 +0000 (23:41 +0100)]
objectcache: Remove outdated comment about back-compat defaults

Follows-up 0dd27b1da9e.

Change-Id: Ic21b02d93d6047eb4713dfec3cbb2fff4d51fdff

8 years agoFix bogus calls to encodeKey/decodeKey in the PHP memcached class
Aaron Schulz [Sat, 24 Oct 2015 22:16:59 +0000 (15:16 -0700)]
Fix bogus calls to encodeKey/decodeKey in the PHP memcached class

* Follow up to cdb543272883b180
* These are no longer needed

Change-Id: Id41c3aae50a13f3c53f2bbd9662027b36a1f4142

8 years agoMerge "Move some memcached classes to /libs"
Aaron Schulz [Sat, 24 Oct 2015 22:36:43 +0000 (22:36 +0000)]
Merge "Move some memcached classes to /libs"

8 years agoMove some memcached classes to /libs
Aaron Schulz [Sat, 24 Oct 2015 21:54:10 +0000 (14:54 -0700)]
Move some memcached classes to /libs

Also removed a few MW dependencies from MemcachedPeclBagOStuff.
It still uses an IP class method, so it has to stay for now.

Change-Id: I8c5c83046c58fb58091d6ce11b2385208262460f

8 years agoValidate status codes returned from the AbortLogin hook
Gergő Tisza [Mon, 17 Aug 2015 23:08:00 +0000 (23:08 +0000)]
Validate status codes returned from the AbortLogin hook

In case of a return value which is not in LoginForm::$statusCodes,
this results in a nicer error message instead of an array access error.

Bug: T109193
Change-Id: I64c955327c7dfc64807fa83d30538f3da66618bc

8 years agoMerge "Remove some MW dependencies from RedisConnectionPool"
jenkins-bot [Sat, 24 Oct 2015 22:24:58 +0000 (22:24 +0000)]
Merge "Remove some MW dependencies from RedisConnectionPool"

8 years agoMove MemcachedBagOStuff b/c logic to ObjectCache
Aaron Schulz [Sat, 24 Oct 2015 21:47:19 +0000 (14:47 -0700)]
Move MemcachedBagOStuff b/c logic to ObjectCache

Change-Id: Iedb173b00d543237b3e7560b8079b8d488e00d80

8 years agoRemove some MW dependencies from RedisConnectionPool
Aaron Schulz [Sat, 24 Oct 2015 22:06:24 +0000 (15:06 -0700)]
Remove some MW dependencies from RedisConnectionPool

Change-Id: I41ee08d8c6df14ef5994ea8dd2ee61eb220941e3

8 years agoMerge "Make DBReadOnlyError extend DBExpectedError"
jenkins-bot [Sat, 24 Oct 2015 20:46:03 +0000 (20:46 +0000)]
Merge "Make DBReadOnlyError extend DBExpectedError"

8 years agoMerge "Move MultiWriteBagOStuff to /libs"
jenkins-bot [Sat, 24 Oct 2015 20:22:51 +0000 (20:22 +0000)]
Merge "Move MultiWriteBagOStuff to /libs"

8 years agoMake DBReadOnlyError extend DBExpectedError
Aaron Schulz [Sat, 24 Oct 2015 20:13:01 +0000 (13:13 -0700)]
Make DBReadOnlyError extend DBExpectedError

This makes the output formatting a bit prettier

Change-Id: I5d5c5a421326029323ef367feac70179ecb2d9e1

8 years agoMove MultiWriteBagOStuff to /libs
Aaron Schulz [Sat, 24 Oct 2015 07:48:40 +0000 (00:48 -0700)]
Move MultiWriteBagOStuff to /libs

Also moved related tests files to /libs.

Change-Id: I806eeaa30205733d497adde933baf0c4157f7aae

8 years agoMerge "Minor fix to primeFileCache() comment"
jenkins-bot [Sat, 24 Oct 2015 07:43:17 +0000 (07:43 +0000)]
Merge "Minor fix to primeFileCache() comment"

8 years agoMerge "Provide some default $wgRateLimits values"
jenkins-bot [Sat, 24 Oct 2015 07:28:11 +0000 (07:28 +0000)]
Merge "Provide some default $wgRateLimits values"

8 years agoProvide some default $wgRateLimits values
Aaron Schulz [Thu, 22 Oct 2015 04:52:52 +0000 (21:52 -0700)]
Provide some default $wgRateLimits values

* This provides some minimal out-of-the-box protection.
* These mostly are the values used by WMF in mediawiki-config

Change-Id: Ie510ca9314e151f9c0ad0705d096fe2bb749a59d

8 years agoMerge "Fixes to MemcachedBagOStuff::makeKeyInternal()"
Aaron Schulz [Sat, 24 Oct 2015 05:44:05 +0000 (05:44 +0000)]
Merge "Fixes to MemcachedBagOStuff::makeKeyInternal()"

8 years agoAdd wfWaitForSlaves() to HTMLCacheUpdateJob
Aaron Schulz [Sat, 24 Oct 2015 05:24:48 +0000 (22:24 -0700)]
Add wfWaitForSlaves() to HTMLCacheUpdateJob

Change-Id: Iabf3d01f15b36bcb51e7fd8512404df2a3aedf35

8 years agoFixes to MemcachedBagOStuff::makeKeyInternal()
Aaron Schulz [Sat, 24 Oct 2015 04:03:11 +0000 (21:03 -0700)]
Fixes to MemcachedBagOStuff::makeKeyInternal()

* Follow-up to 0c9fb12265e2
* Make sure colons actually get escaped
* Added more unit tests
* Also fixed the test actual/expected order

Change-Id: Ie04ea6059ee1eb6d1da8f30fefdec52fa49d38fb

8 years agoMerge "Web installer should not pollute global namespace with session variables"
jenkins-bot [Sat, 24 Oct 2015 04:38:46 +0000 (04:38 +0000)]
Merge "Web installer should not pollute global namespace with session variables"

8 years agoRemove paranoid title check from RefreshLinksJob::runForTitle
Aaron Schulz [Sat, 24 Oct 2015 04:14:11 +0000 (21:14 -0700)]
Remove paranoid title check from RefreshLinksJob::runForTitle

Change-Id: Ie2b875dcb394e9cf20818a26d245684933765baf

8 years agoEscape colons in BagOStuff key segments
Ori Livneh [Fri, 23 Oct 2015 22:12:51 +0000 (15:12 -0700)]
Escape colons in BagOStuff key segments

For the sake of safety and correctness, the following BagOStuff::makeKey()
invocations should return distinct keys:

   $cache->makeKey( 'ab:', 'cd' );
   $cache->makeKey( 'ab', ':cd' );

That is not currently the case, because while we use ':' as a key path
separator, we don't escape ':' in the input supplied to makeKey(). So, make
BagOStuff::makeKeyInternal() URL-encode colons.

To prevent this from messing up the max. key length calculations, reproduce
this logic in MemcachedBagOStuff::makeKeyInternal(), in lieu of having the
method call its parent.

Change-Id: I83ea7e7336a1c9e64aa42284c2517089a736efe5

8 years agoEnsure all key transformations are applied by BagOStuff::makeKeyInternal()
Ori Livneh [Sat, 24 Oct 2015 00:53:25 +0000 (17:53 -0700)]
Ensure all key transformations are applied by BagOStuff::makeKeyInternal()

Currently we have to undo any transformations we apply to keys in getMulti() by
iterating over the response array keys reversing any changes. This is hairy and
complicated. So --

* Replace calls to MemcachedBagOStuff::encodeKey() with calls to a new method,
  MemcachedBagOStuff::validateKeyEncoding(). The new method only validates that
  the key is compatible with memcached. If it is not, it throws an exception.
  If it is, it returns the key unmodified.

* Remove MemcachedBagOStuff::{encode,decode}Key(), since they no longer serve a
  purpose, and have no callers.

Change-Id: If3e20c6a1a1b42fc1f2823aa660328e37c26eccb

8 years agoMinor fix to primeFileCache() comment
Aaron Schulz [Sat, 24 Oct 2015 00:18:56 +0000 (17:18 -0700)]
Minor fix to primeFileCache() comment

Change-Id: I7d040c5a914574df72fa31612df0eb28e15fd46c

8 years agoWeb installer should not pollute global namespace with session variables
saper [Fri, 23 Oct 2015 20:54:42 +0000 (22:54 +0200)]
Web installer should not pollute global namespace with session variables

There is no need to store session variables
(that also include user-supplied arguments)
as $wgXXX global variables.

Bug: T116375
Change-Id: I880d4299566beaf99ed1fc21c690cdda64149b0e

8 years agoMerge "Improve normalization and sanitization of memcached keys"
jenkins-bot [Fri, 23 Oct 2015 23:36:29 +0000 (23:36 +0000)]
Merge "Improve normalization and sanitization of memcached keys"

8 years agoInstall link to Manual:Combating_spam on the home page
saper [Fri, 23 Oct 2015 23:23:18 +0000 (01:23 +0200)]
Install link to Manual:Combating_spam on the home page

Bug: T85327
Change-Id: I2bfe8b1489f748df2d24946d7c49b97d5cbf921e

8 years agoImprove normalization and sanitization of memcached keys
Ori Livneh [Fri, 23 Oct 2015 18:10:10 +0000 (11:10 -0700)]
Improve normalization and sanitization of memcached keys

The motivation for this patch came from seeing the following error in the
memcached log:

  memcached ERROR: Memcached error for key "flowdb:flow_ref:wiki:by-source:\
   v3:0:tawikinews:பூமிக்கு_அச்சுறுத்தலான_சிறுகோள்களைக்_கண்டுபிடிக்கும்_முயற்சியில்_தனியார்_நிறுவன0jம்:4.7" \
   on server ":": A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE

I submitted a fix to Flow in I26e531f6, but I noticed that AbuseFilter had a
similar issue (fixed by Aaron in I27b51a4b), so I started thinking about how
to solve this more generally:

* The regular expression we current use to sanitize keys does not cover
  characters outside the ASCII range, but such characters can be illegal
  if one of their constituent bytes (when taken by itself) is an ASCII
  control character. So change the regular expression to cover any and all
  characters that fall outside the range \x22-\x7e (and '#' -- see below).

* Enforce a key length limit of 255 bytes, which is the maximum length
  permitted by the memcached protocol. The Tamil segment in the key above is 84
  characters, but 233 bytes in UTF-8, which become 684 characters when
  URL-encoded. To fix this, try to shrink any segment that would push the total
  key length over the limit by md5()ing it. If the end result is *still* over
  the limit (this would happen if, for example, $args consists of many short
  strings), then concatenate all args together and MD5 them.

* MD5'd arguments are prefixed with '#'. Any "organic" '#'s in the key segments
  are URL-encoded.

Change-Id: Ia46987d3b0a09bb6b1952abd936d4c72ea7c56a0

8 years agoMerge "installer: Define $wgResourceBasePath in LocalSettings.php"
jenkins-bot [Fri, 23 Oct 2015 22:16:20 +0000 (22:16 +0000)]
Merge "installer: Define $wgResourceBasePath in LocalSettings.php"

8 years agoMerge "poolcounter: Add 'trigger' field to the slow-parse log"
jenkins-bot [Fri, 23 Oct 2015 22:02:01 +0000 (22:02 +0000)]
Merge "poolcounter: Add 'trigger' field to the slow-parse log"

8 years agoinstaller: Define $wgResourceBasePath in LocalSettings.php
saper [Fri, 23 Oct 2015 12:40:00 +0000 (14:40 +0200)]
installer: Define $wgResourceBasePath in LocalSettings.php

Bug: T116374
Bug: T75031
Change-Id: I459c1097ed7048c3fe24e636e9ea22ec2e3b2675

8 years agopoolcounter: Add 'trigger' field to the slow-parse log
Timo Tijhof [Fri, 23 Oct 2015 18:33:52 +0000 (19:33 +0100)]
poolcounter: Add 'trigger' field to the slow-parse log

To better indicate that these are only triggered by page views.

We don't currently have any slow-parse logging for the parser
invocation that happens during save (which means we're potentially
missing lots of them).

Once we add that, this will help distinguish them.

Bug: T110760
Change-Id: I22be5684ef93efd410d683637e223f770d6c768c

8 years agoMerge "Remove buggy b/c logic in Parser::disableCache()/updateCacheExpiry()"
jenkins-bot [Fri, 23 Oct 2015 20:30:20 +0000 (20:30 +0000)]
Merge "Remove buggy b/c logic in Parser::disableCache()/updateCacheExpiry()"

8 years agoRemove buggy b/c logic in Parser::disableCache()/updateCacheExpiry()
Aaron Schulz [Fri, 23 Oct 2015 19:35:43 +0000 (12:35 -0700)]
Remove buggy b/c logic in Parser::disableCache()/updateCacheExpiry()

* Setting mCacheTime to -1 is for old callers that
  only check getCacheTime() instead of getCacheExpiry().
  Most of them are already broken (WikiLog/SemanticForms) as
  they check for -1 which is in fact never returned
  due to the TS_MW conversion in Parser::getCacheTime.
* By using -1, the value of page_links_updated can end up
  as 1969, which is confusing and broken.

Change-Id: I8809a4258eacff05992a2c27ade7f6a0c1731c51

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Fri, 23 Oct 2015 19:27:57 +0000 (21:27 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: Ia0a10443f264e238e6136edbb2bb60dd9ddd1c96

8 years agoMerge "Setup.php: Remove incorrect comment"
jenkins-bot [Fri, 23 Oct 2015 19:04:53 +0000 (19:04 +0000)]
Merge "Setup.php: Remove incorrect comment"

8 years agoSetup.php: Remove incorrect comment
Bartosz Dziewoński [Fri, 23 Oct 2015 18:50:11 +0000 (20:50 +0200)]
Setup.php: Remove incorrect comment

This is not true since $wgSkinExtensionFunctions was removed in r87487.

Change-Id: Ia2c75aa191516fa43272ed51789579cf7afd9e37

8 years agoThrow Exceptions on preg_* failures in MagicWordArray::matchAndRemove()
Kunal Mehta [Thu, 15 Oct 2015 18:37:38 +0000 (11:37 -0700)]
Throw Exceptions on preg_* failures in MagicWordArray::matchAndRemove()

There are a lot of other cases in this file alone that need to be fixed
(e.g. (bool)preg_match), but those should be fixed in a more systematic
way like a wrapper function.

Bug: T115514
Change-Id: I3840a56adc0a6e50963b930051892491f8e90245

8 years agoMerge "Move CAPTCHA messages into ConfirmEdit and update class names"
jenkins-bot [Fri, 23 Oct 2015 15:36:30 +0000 (15:36 +0000)]
Merge "Move CAPTCHA messages into ConfirmEdit and update class names"

8 years agomediawiki.notification.css: Avoid horizontal scrollbar on fade in and fade out
Fomafix [Fri, 23 Oct 2015 12:24:15 +0000 (12:24 +0000)]
mediawiki.notification.css: Avoid horizontal scrollbar on fade in and fade out

This is a follow-up to I01473a199665b9fd86ed50b7d117532ac94f3edf.

Change-Id: I596927bfca0efd52db8d46eeea9ba38c7a9f7ca5

8 years agoMerge "ApiQueryAllRevisions: Actually use 'start' and 'end'"
jenkins-bot [Fri, 23 Oct 2015 07:44:45 +0000 (07:44 +0000)]
Merge "ApiQueryAllRevisions: Actually use 'start' and 'end'"

8 years agomediawiki.notification: Use CSS tranforms for in/out animations
Timo Tijhof [Fri, 25 Sep 2015 15:15:58 +0000 (16:15 +0100)]
mediawiki.notification: Use CSS tranforms for in/out animations

Remove the whole placeholder system. This was needed to preserve
parking space while visually animating the element elsewhere.
CSS transforms have this behaviour naturally.

Change-Id: I01473a199665b9fd86ed50b7d117532ac94f3edf

8 years agoReduce DBPerformance warning spam for jobs a bit
Aaron Schulz [Fri, 23 Oct 2015 03:40:57 +0000 (20:40 -0700)]
Reduce DBPerformance warning spam for jobs a bit

Change-Id: I1c5fdae6e0f98fff5f3336d8a46a4b3ff25d5bad

8 years agoMerge "Bound BagOStuff::lock() RTT estimate for sanity"
jenkins-bot [Fri, 23 Oct 2015 01:43:28 +0000 (01:43 +0000)]
Merge "Bound BagOStuff::lock() RTT estimate for sanity"

8 years agoMerge "Make TransactionProfiler show the actual query times"
jenkins-bot [Fri, 23 Oct 2015 01:32:00 +0000 (01:32 +0000)]
Merge "Make TransactionProfiler show the actual query times"

8 years agoMerge "Fix ChangeTag "lockTSE" values as INF does not actually work"
jenkins-bot [Thu, 22 Oct 2015 21:40:44 +0000 (21:40 +0000)]
Merge "Fix ChangeTag "lockTSE" values as INF does not actually work"

8 years agoMerge "Revert "mediawiki.Upload.BookletLayout: If the user can't upload, don't show...
jenkins-bot [Thu, 22 Oct 2015 21:31:12 +0000 (21:31 +0000)]
Merge "Revert "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form""

8 years agoRevert "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them...
Bartosz Dziewoński [Thu, 22 Oct 2015 21:20:50 +0000 (21:20 +0000)]
Revert "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form"

This actually won't work for Wikimedia wikis, turns out
that many of them disabled local uploads.

This reverts commit 29edb68446b5b6faa4b5038698f042ef25e4425d.

Bug: T115866
Change-Id: Ib28539f2ff22cdbf1d80b1b601e7855c1110ad40

8 years agoMerge "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them...
jenkins-bot [Thu, 22 Oct 2015 21:10:38 +0000 (21:10 +0000)]
Merge "mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form"

8 years agoMerge "Make LinksUpdate::__construct() use normal type hints"
jenkins-bot [Thu, 22 Oct 2015 21:10:34 +0000 (21:10 +0000)]
Merge "Make LinksUpdate::__construct() use normal type hints"

8 years agoFix ChangeTag "lockTSE" values as INF does not actually work
Aaron Schulz [Thu, 22 Oct 2015 21:00:06 +0000 (14:00 -0700)]
Fix ChangeTag "lockTSE" values as INF does not actually work

Change-Id: If6c6b034be60ffc8b22b67cef12e5d701a871788

8 years agoMerge "Properly make LinksUpdate be recursive when done from job queue"
jenkins-bot [Thu, 22 Oct 2015 20:46:00 +0000 (20:46 +0000)]
Merge "Properly make LinksUpdate be recursive when done from job queue"

8 years agoMake LinksUpdate::__construct() use normal type hints
Aaron Schulz [Thu, 22 Oct 2015 20:25:49 +0000 (13:25 -0700)]
Make LinksUpdate::__construct() use normal type hints

Change-Id: Ie5f4de95d07ac9f24e415f92c5116385863a47f9

8 years agomediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form
Bartosz Dziewoński [Thu, 22 Oct 2015 19:25:32 +0000 (21:25 +0200)]
mediawiki.Upload.BookletLayout: If the user can't upload, don't show them the form

To improve in the future:
* Check the rights on the target wiki rather than current, they might
  not be the same
* Use a better error message when not all logged-in users can upload

Bug: T115866
Change-Id: I6f68122b5399f4b8766825c752e964478ae7563d

8 years agoProperly make LinksUpdate be recursive when done from job queue
Brian Wolff [Thu, 22 Oct 2015 18:56:03 +0000 (12:56 -0600)]
Properly make LinksUpdate be recursive when done from job queue

New enqueue method of DeferredUpdates was turning LinksUpdate
updates into Jobs. However RefreshLinksJob was not properly
reconstructing the secondary updates as being recursive (if they
were recursive). This means that templates weren't having the pages
that were using them being updated.

See also related T116001.

Change-Id: Ia06246efb2034fdfe07232fd8c2334160edbcf02

8 years agoLocalisation updates from https://translatewiki.net.
Translation updater bot [Thu, 22 Oct 2015 18:46:05 +0000 (20:46 +0200)]
Localisation updates from https://translatewiki.net.

Change-Id: I7830f3ff793b90c23a08fa3496a7178c127cd605

8 years agoMove CAPTCHA messages into ConfirmEdit and update class names
Matthew Flaschen [Thu, 22 Oct 2015 14:49:09 +0000 (10:49 -0400)]
Move CAPTCHA messages into ConfirmEdit and update class names

Depends on I0e55a159efd66a73cd217d9a5e86b2bced90f57a in ConfirmEdit .
This should be merged just after that.

Also, remove a dead config variable.

This leaves only the CAPTCHA stuff that is actually specific
to CreateAccount.

Change-Id: I8924d537cad3e39adace99fb20626247128d9bd9

8 years agoMove Special:PageLanguage to the pagetools group on Special:SpecialPages
umherirrender [Fri, 16 Oct 2015 14:02:01 +0000 (16:02 +0200)]
Move Special:PageLanguage to the pagetools group on Special:SpecialPages

Acting on pages, so that group is better than the default of "other"

Change-Id: I50c993d69048eeee913fbab513711018999aafe9

8 years agoMerge "Remove old ProfilerOutputUdp class"
jenkins-bot [Thu, 22 Oct 2015 07:10:31 +0000 (07:10 +0000)]
Merge "Remove old ProfilerOutputUdp class"

8 years agoJobQueueRedis::doBatchPush(): report metrics even when failures occur
Ori Livneh [Thu, 22 Oct 2015 06:44:26 +0000 (23:44 -0700)]
JobQueueRedis::doBatchPush(): report metrics even when failures occur

The way the method is currently written, no stats are reported at all when
failures occur.

Change-Id: I627e8f6ce3a59098bc8949da7ed22f5c924177fc

8 years agojobqueue: track real job inserts as 'inserts_actual'
Ori Livneh [Thu, 22 Oct 2015 06:34:06 +0000 (23:34 -0700)]
jobqueue: track real job inserts as 'inserts_actual'

The `inserts` metric includes dupes. `inserts_actual` will track the rate at
which the job queue is actually growing.

Change-Id: Ie7c544fc8e59180a204d1d149b6a23ac48b8abab

8 years agoMake TransactionProfiler show the actual query times
Aaron Schulz [Thu, 22 Oct 2015 06:30:23 +0000 (23:30 -0700)]
Make TransactionProfiler show the actual query times

Also removed HTTP method from the message as logstash
gets those from the logger already

Change-Id: I7a6d9cb3ec8c7fcb53a081ee2bd055ff8c1c72c1

8 years agoMerge "CacheLRU: Simplify >0 assertion and remove verbose inline comment"
jenkins-bot [Thu, 22 Oct 2015 05:46:45 +0000 (05:46 +0000)]
Merge "CacheLRU: Simplify >0 assertion and remove verbose inline comment"

8 years agoMake LinksUpdate job spec use "refreshLinksPrioritized"
Aaron Schulz [Thu, 22 Oct 2015 04:59:47 +0000 (21:59 -0700)]
Make LinksUpdate job spec use "refreshLinksPrioritized"

This was missing in 4fcc427c10 due to being lost in PS4

Change-Id: I24641e7eccc1e61226777504dcfd75e1aa7f58c6

8 years agoRemove old ProfilerOutputUdp class
Aaron Schulz [Thu, 22 Oct 2015 03:59:47 +0000 (20:59 -0700)]
Remove old ProfilerOutputUdp class

This uses a non-standard output and requires a custom
collector that wmf does not maintain nor use anymore.

Change-Id: I41a68f7061465417fbdc5ca41f8eb6e1f99f1111

8 years agoBound BagOStuff::lock() RTT estimate for sanity
Aaron Schulz [Thu, 22 Oct 2015 03:14:54 +0000 (20:14 -0700)]
Bound BagOStuff::lock() RTT estimate for sanity

The timestamp difference might be 0 (or in rare cases, less)

Change-Id: I0298b413df637d9da5ff33c078ad49dadc8a46ce

8 years agoMerge "objectcache: Fix grammar error in BagOStuff::getWithToken doc"
jenkins-bot [Thu, 22 Oct 2015 02:33:16 +0000 (02:33 +0000)]
Merge "objectcache: Fix grammar error in BagOStuff::getWithToken doc"

8 years agoAdd WRITE_SYNC flag to BagOStuff::set()/merge()
Aaron Schulz [Sun, 18 Oct 2015 22:57:42 +0000 (15:57 -0700)]
Add WRITE_SYNC flag to BagOStuff::set()/merge()

* This blocks on writing to all replicas
  and returns false if any failed.
* This is useful if ChronologyProtector is to work across
  domains by having the writes go everywhere so that later
  reads will see them (and be local at the same time).
* Redundant doc comments were also removed.

Change-Id: I9ed098d563c64dba605e7809bc96731da3b3e79d

8 years agoobjectcache: Fix grammar error in BagOStuff::getWithToken doc
Timo Tijhof [Thu, 22 Oct 2015 01:35:35 +0000 (02:35 +0100)]
objectcache: Fix grammar error in BagOStuff::getWithToken doc

Follows-up 1fa1235d32.

Change-Id: I19a4430609423f5ff32a1014ed21131175469adf

8 years agoMake DeferredUpdates::doUpdates always commit per task
Aaron Schulz [Thu, 8 Oct 2015 07:09:08 +0000 (00:09 -0700)]
Make DeferredUpdates::doUpdates always commit per task

* All callers are either using commit already or would be fine
  using it (e.g. Maintenance scripts and JobRunner that have
  no real transaction open).

Change-Id: I9f54b27619da6dac2cb63d255995aabc4ee78002

8 years agoMake hookErrorHandler() only care about serious signature errors
Aaron Schulz [Thu, 22 Oct 2015 00:31:18 +0000 (17:31 -0700)]
Make hookErrorHandler() only care about serious signature errors

Previously, it would send all manor of warnings to the error
and error-json channels. This adds a lot of overhead due to
AbuseFilter parse/eval errors. By passing immediately instead
of after calling handleError(), that overhead is avoided. Since
it still passes (e.g. returns false), any default PHP warning
logging still applies.

Change-Id: I18e60c09c2a48f2e26abab5d451bb52ea4ba7961

8 years agoMerge "TemplateParser: Use context makeKey() instead of wfMemcKey()"
jenkins-bot [Thu, 22 Oct 2015 00:11:29 +0000 (00:11 +0000)]
Merge "TemplateParser: Use context makeKey() instead of wfMemcKey()"

8 years agoTemplateParser: Use context makeKey() instead of wfMemcKey()
Timo Tijhof [Wed, 21 Oct 2015 23:55:10 +0000 (00:55 +0100)]
TemplateParser: Use context makeKey() instead of wfMemcKey()

Also:
* Use ternary shorthand.
* Remove verbose comment about APC fallback. APC always requires
  a fallback and is enforced by the method being called. Stating
  the obvious is confusing here.

Change-Id: Ie5cb3bdc60600806b01b57f1f1b352b981818b0d

8 years agoMerge "mediawiki.api: Don't hold references to finished requests forever"
jenkins-bot [Wed, 21 Oct 2015 20:54:04 +0000 (20:54 +0000)]
Merge "mediawiki.api: Don't hold references to finished requests forever"

8 years agoMerge "Replace some calls to wfGetMainCache()"
jenkins-bot [Wed, 21 Oct 2015 20:05:47 +0000 (20:05 +0000)]
Merge "Replace some calls to wfGetMainCache()"

8 years agoMerge "Fix transaction warnings on test cleanup rollback()"
jenkins-bot [Wed, 21 Oct 2015 19:54:26 +0000 (19:54 +0000)]
Merge "Fix transaction warnings on test cleanup rollback()"

8 years agomediawiki.api: Don't hold references to finished requests forever
Bartosz Dziewoński [Tue, 20 Oct 2015 22:50:20 +0000 (00:50 +0200)]
mediawiki.api: Don't hold references to finished requests forever

Follow-up to Ie614b05fbfbddca38ea201e90053bebdd58da949.

Also removed a TODO comment which no longers makes sense. (We can't
share API objects because users could abort each others' requests.)

Change-Id: I106139d6e463d7e5e3473035835eb74b18829b87

8 years agoMerge "mediawiki.api: Remove incomprehensible TODO"
jenkins-bot [Wed, 21 Oct 2015 19:23:46 +0000 (19:23 +0000)]
Merge "mediawiki.api: Remove incomprehensible TODO"

8 years agoMerge "Send X-Database-Lagged header to help with debugging"
jenkins-bot [Wed, 21 Oct 2015 19:13:55 +0000 (19:13 +0000)]
Merge "Send X-Database-Lagged header to help with debugging"

8 years agoFix transaction warnings on test cleanup rollback()
Aaron Schulz [Wed, 21 Oct 2015 19:13:22 +0000 (12:13 -0700)]
Fix transaction warnings on test cleanup rollback()

Change-Id: I85f607c7562474d57f515a947181884fccae735c

8 years agoSend X-Database-Lagged header to help with debugging
Aaron Schulz [Wed, 21 Oct 2015 00:27:27 +0000 (17:27 -0700)]
Send X-Database-Lagged header to help with debugging

Change-Id: Ib654c49a61a1279091c5da92a2bef2ad1f992d23

8 years agoMerge "Convert showPatrolFooter() to using WAN cache"
jenkins-bot [Wed, 21 Oct 2015 18:24:27 +0000 (18:24 +0000)]
Merge "Convert showPatrolFooter() to using WAN cache"

8 years agoMerge "mw.ForeignStructuredUpload: Provide category suggestions from the right wiki"
jenkins-bot [Wed, 21 Oct 2015 17:55:19 +0000 (17:55 +0000)]
Merge "mw.ForeignStructuredUpload: Provide category suggestions from the right wiki"

8 years agomediawiki.api: Remove incomprehensible TODO
Bartosz Dziewoński [Tue, 20 Oct 2015 22:48:22 +0000 (00:48 +0200)]
mediawiki.api: Remove incomprehensible TODO

Change-Id: Iae632527c8b104ddd94b89679d1dba977fddb557

8 years agoMerge "mw.ForeignStructuredUpload: Rearrange messages to always display license name"
jenkins-bot [Wed, 21 Oct 2015 15:45:13 +0000 (15:45 +0000)]
Merge "mw.ForeignStructuredUpload: Rearrange messages to always display license name"

8 years agoAdd pst option to API difftotext
Matt Russell [Mon, 31 Mar 2014 07:58:54 +0000 (07:58 +0000)]
Add pst option to API difftotext

Adds the option difftotextpst to ApiQueryRevisionsBase.php, which will perform a
pre-save transform on the supplied text, before diffing it against the
requested revision.

Bug: T53155
Change-Id: Ia480e8cd4ceeeb0b2812dc8ec96650adb83c03af

8 years agoApiQueryAllRevisions: Actually use 'start' and 'end'
Brad Jorsch [Wed, 21 Oct 2015 14:23:37 +0000 (10:23 -0400)]
ApiQueryAllRevisions: Actually use 'start' and 'end'

No idea how that got missed.

Bug: T116177
Change-Id: I69cb4d6ce12fe39ab5683f7791d00ee16958981d

8 years agoMerge "Sync up with Parsoid parserTests."
jenkins-bot [Wed, 21 Oct 2015 12:55:34 +0000 (12:55 +0000)]
Merge "Sync up with Parsoid parserTests."

8 years agoBetter phrasing for the contentmodelediterror message
Amir E. Aharoni [Wed, 21 Oct 2015 11:50:11 +0000 (14:50 +0300)]
Better phrasing for the contentmodelediterror message

Change-Id: Ie69642f8ae6993d7bb08b785229321ed04428502

8 years agoConvert showPatrolFooter() to using WAN cache
Aaron Schulz [Wed, 21 Oct 2015 11:06:42 +0000 (04:06 -0700)]
Convert showPatrolFooter() to using WAN cache

Change-Id: I55503eab91d0c64b2dcbc86257088a3eac52a2a1

8 years agomw.ForeignStructuredUpload: Rearrange messages to always display license name
Bartosz Dziewoński [Wed, 21 Oct 2015 10:25:52 +0000 (12:25 +0200)]
mw.ForeignStructuredUpload: Rearrange messages to always display license name

See the task for screenshots.

Bug: T116046
Change-Id: I3dc021713c460e4cd639b7d85545ad4b5afe514b

8 years agoReplace some calls to wfGetMainCache()
Aaron Schulz [Wed, 21 Oct 2015 06:52:07 +0000 (23:52 -0700)]
Replace some calls to wfGetMainCache()

Change-Id: I9ba8fd5918877af6312b0854634bd36211438f00

8 years agoRemove wgAlwaysUseTidy from ExpandTemplates
saper [Thu, 15 Oct 2015 07:08:02 +0000 (09:08 +0200)]
Remove wgAlwaysUseTidy from ExpandTemplates

Fixes ConfigException:

Exception encountered, of type "ConfigException"
[1235d69e] index.php/Special:ExpandTemplates ConfigException
from line 53 of
includes/config/GlobalVarConfig.php:
GlobalVarConfig::get: undefined option: 'AlwaysUseTidy'
Backtrace:
includes/specials/SpecialExpandTemplates.php(117):
GlobalVarConfig->get(string)
i includes/specialpage/SpecialPage.php(384):
SpecialExpandTemplates->execute(NULL)

Change-Id: Iba16f12f50f7427533f89817eb40f46a2ab58ec4

8 years agoMerge "Improve MultiWriteBagOStuff::merge() cross-DC performance"
jenkins-bot [Wed, 21 Oct 2015 05:06:44 +0000 (05:06 +0000)]
Merge "Improve MultiWriteBagOStuff::merge() cross-DC performance"

8 years agoImprove MultiWriteBagOStuff::merge() cross-DC performance
Aaron Schulz [Wed, 21 Oct 2015 04:50:27 +0000 (21:50 -0700)]
Improve MultiWriteBagOStuff::merge() cross-DC performance

Implement merge() by getting a lock on the tier 1
cache, getting it's value, generating the new one,
writing to all tiers, and then unlocking tier 1.
This is done by just using the stock mergeViaLock().

This means that if tier 1 is in the same DC, the
other tiers only need 1 request each, just for set().

Change-Id: I4b0c303ef3b86b63e7630032ed0b010e79706324

8 years agoMerge "Handle revisions with different content models in EditPage"
jenkins-bot [Wed, 21 Oct 2015 04:08:02 +0000 (04:08 +0000)]
Merge "Handle revisions with different content models in EditPage"

8 years agoMerge "Improve documentation of $wgShowRollbackEditCount"
jenkins-bot [Wed, 21 Oct 2015 03:58:33 +0000 (03:58 +0000)]
Merge "Improve documentation of $wgShowRollbackEditCount"