Commit graph

30 commits

Author SHA1 Message Date
Aaron Schulz
39ed32922e Include type in hashKeyIntoSlots()
Otherwise, all pool types that use slots will collide
due to the slotted keys not using a type prefix.

Bug: T134144
Change-Id: Ib367fedf2cfb7fecc290206e69e0d105276e96e6
2016-05-09 16:54:51 -07:00
Aaron Schulz
58bae669bc Clean up PoolWorkArticleView type hints and fix IDEA errors
All callers pass a WikiPage here already.

Change-Id: I6a17bf52fb2547729c6a1fa40704f1c9efe28b12
2016-05-03 01:47:36 -07:00
Ricordisamoa
1617e7822e Always use 'bool' instead of 'boolean' in Doxygen tags
Just like commit f86a5590aa

Change-Id: Ic9d08bca6524d6bb4baf5170c081ad0f3d738e28
2016-03-24 09:44:09 +01:00
Kunal Mehta
6e9b4f0e9c Convert all array() syntax to []
Per wikitech-l consensus:
 https://lists.wikimedia.org/pipermail/wikitech-l/2016-February/084821.html

Notes:
* Disabled CallTimePassByReference due to false positives (T127163)

Change-Id: I2c8ce713ce6600a0bb7bf67537c87044c7a45c4b
2016-02-17 01:33:00 -08:00
Timo Tijhof
c45305bcd3 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
2015-10-23 20:53:37 +00:00
Amir E. Aharoni
c37d6549fd Fix Generic.Files.LineLength phpcs failure in 11 files under includes/
Bug: T102614
Change-Id: I0d759be6ef568c2c6f28606d3002484ad77a1830
2015-10-03 17:08:26 +00:00
Aaron Schulz
f62bcacbc5 poolcounter: PoolCounterRedis doc cleanups
Change-Id: I0266941c40d30f631ae77695cbe81bbdc2a85a79
2015-09-04 03:35:56 +00:00
Timo Tijhof
8c74b8a3e8 poolcounter: Convert slow-parse to LoggerFactory with data context
This way the time and title values are transmitted via Monolog
as separate JSON properties.

Keep the message the same for backwards-compatibility (except
for the space padding).

Change-Id: I0b79944bb9944dc6d09d16fe2ecc845e0e0e2afb
2015-08-26 20:41:13 +02:00
Jackmcbarn
c4f69827bc Fix some PHPCS issues
Change-Id: I6289ce362f8dfde7baf2b665f082820898844973
2015-06-26 01:32:28 -04:00
jenkins-bot
4e004124cd Merge "Removed obsolete "containsOldMagic" code" 2015-03-04 06:02:04 +00:00
Aaron Schulz
df5ef8b5d7 Removed doCascadeProtectionUpdates method to avoid DB writes on page views
* Use special prioritized refreshLinksJobs instead, which triggers when
  transcluded pages are changed
* Also added a triggerOpportunisticLinksUpdate() method to handle
  dynamic transcludes

bug: T89389
Change-Id: Iea952d4d2e660b7957eafb5f73fc87fab347dbe7
2015-02-22 13:36:13 -08:00
Aaron Schulz
4111ff0dc3 Removed obsolete "containsOldMagic" code
Change-Id: Id225347e0599a6f79b30b0793cce7d97daed46f2
2015-02-15 14:41:49 -08:00
Chad Horohoe
aa21e125a3 Remove obvious function-level profiling
Xhprof generates this data now. Custom profiling of various
sub-function units are kept.

Calls to profiler represented about 3% of page execution
time on Special:BlankPage (1.5% in/out); after this change
it's down to about 0.98% of page execution time.

Change-Id: Id9a1dc9d8f80bbd52e42226b724a1e1213d07af7
2015-01-07 11:14:24 -08:00
Aaron Schulz
e8fa89bd30 Moved "nowait:" key code to PoolCounter in core
Change-Id: I5286e6c6052289e1107314a04d72703b44a8fbc6
2014-12-22 11:04:41 -08:00
Chad Horohoe
e4ff67e0db Handle missing parser cache keys better in pool counter
Change-Id: I493fd1ee5e9ab6c3a49a7f478460cbfe54393ca0
2014-11-19 11:22:48 -08:00
umherirrender
21e0c1c533 Correct variable names in @param to match method declarations
Some @param have a typo in the variable name,
some @param's were in wrong order.

Change-Id: Ie25806831027112b398f6f4a909c59147ac3a5fa
2014-08-13 21:48:28 +02:00
umherirrender
f6e19c0afe Fixed some docs
- Added since to @deprecated
- Use lowercase array on @param
- Added missing type on @param
- Swapped type and variable on @param
- Fixed spelling of @return

Change-Id: Idbbc6b4c8aadb6d98c636f53024ac513346c912b
2014-08-13 20:01:46 +02:00
addshore
880e496a30 Split PoolCounterWorkViaCallback into own file
Change-Id: I9c920cd03351a2b2b155247d58fbb2280d4d3775
2014-08-09 00:44:59 +01:00
umherirrender
dd8921c9d9 Cleanup some docs (includes/[m-r])
- Swap "$variable type" to "type $variable"
- Added missing types
- Fixed spacing inside docs
- Makes beginning of @param/@return/@var/@throws in capital
- Changed some types to match the more common spelling

Change-Id: I8ebfbcea0e2ae2670553822acedde49c1aa7e98d
2014-07-24 19:43:25 +02:00
umherirrender
2b021dc48a Fixed spacing
- Added/removed spaces around parenthesis
- Added space after switch/if/foreach
- changed else if to elseif

Change-Id: I99cda543e0e077320091addd75c188cb6e3a42c2
2014-07-19 23:12:10 +02:00
Aaron Schulz
c205a99f59 Fixed acquireForMe() bug in the redis module
* Previously, blocked callers (due to no slots being open) would just timeout
  instead of getting unblocked when the slot holder released the slot.

Change-Id: I67e328ca8bc1ccfb77d1ba0a753c37de3c459021
2014-07-07 17:16:42 -07:00
withoutaname
32ac391331 Move implementations of Page to separate file
Moved implementations of the Page interface, including subclasses
of WikiPage and Article, to a separate /includes/page file.
Separated PoolWorkArticleView to the includes/poolcounter file.

Change-Id: I4557eab76e0cb12d9d7f93644c5831bdd5b472b0
2014-06-22 07:56:16 +00:00
Aaron Schulz
78a654eddc Made pool counter better handled nested calls
* This is useful for the "GetLocalFileCopy" pool for example.

Change-Id: Ie9f092fb595d12ebc6548571cecbd2f4251297db
2014-06-05 15:21:32 -07:00
Gergő Tisza
d57273700b Add global limit to PoolCounter
Adds a 'slot' option to $wgPoolCounterConf. When this option is set,
there are a limited number of slots for the given worker type,
regardless of key. Workers with the same key are still limited by
the 'workers' option.

The global limit is implemented by simply using a deterministic
hash of the key instead of the real key. This avoids deadlocks,
but results in slot underallocation due to hash collisions - even
when there are significantly more jobs that slots, some of the slots
might remain empty.

Bug: 65691
Change-Id: Ibdf8ec222f9756d70de2bed7ff14913351dc394b
2014-06-03 19:28:35 +00:00
Aaron Schulz
a07929b119 Fixed doc typo
Change-Id: I4c81dc62c241e1c32cbda996323d082c8b2d48a3
2014-05-11 02:03:00 -07:00
Siebrand Mazeland
ede6d673de Pass phpcs-strict on includes/poolcounter/
Change-Id: If10d03e66bf617f6eb2d9ec9f43d6d55c5c5d784
2014-05-10 11:00:37 +02:00
Aaron Schulz
87cdc96510 Include pool type in pool counter log entries
Change-Id: I1b0213b5af755208843cb2cd02d3446c480f6882
2014-04-21 10:37:14 -07:00
umherirrender
b45420410f Fixed some @params documentation (includes/*)
Swapped some "$var type" to "type $var" or added missing types
before the $var. Changed some other types to match the more common
spelling. Makes beginning of some text in captial.
Also added some missing @param.

Change-Id: Iced714bca004756b461b66067a49a925a7e3b877
2014-04-19 22:22:20 +02:00
umherirrender
edbd8ea6b3 Fix [missing] variables in @param docs
Two places found without variable, one without $ and one only missed a
space before $

Change-Id: Iacd7c386d57223f3a112b59cd11383ef5c0ac2f1
2014-04-06 20:11:30 +02:00
Aaron Schulz
fbf97f572c Re-organized PoolCounter files
* No actual changes to the classes

Change-Id: I4e35a2b097e4bc72315688d0390d3f5c4c1ca4ed
2014-04-02 11:08:22 -07:00