Commit graph

1123 commits

Author SHA1 Message Date
Aaron Schulz
a619be8163 database: make close() sanity check mTrxPreCommitCallbacks
The other callback types are already checked too.

Change-Id: Ibdc82110c0a0e74bb07ed92ee667bdf0d9f69f90
2017-08-16 21:25:29 -07:00
jenkins-bot
d627652545 Merge "Ignore errors in RedisConnectionPool destructor" 2017-08-14 15:01:28 +00:00
Gergő Tisza
a778ea1316 Ignore errors in RedisConnectionPool destructor
The destructor can be called on shutdown so any operation which
relies on another object or resource can fail. E.g. running
anything involving Redis (such as >>new Message('').''<<)
from shell.php and then exiting will result in a RedisException
since the PHP engine closes the Redis connection before destroying
the connection pool. Such errors can be safely ignored.

Change-Id: I38474a9dda89c82edbcb878facb4a97740e9189a
2017-08-14 14:28:41 +00:00
jenkins-bot
cc4115e87f Merge "Add missing @param and @return documentation" 2017-08-11 21:32:58 +00:00
jenkins-bot
84b6d5c2e5 Merge "Add missing type to @param documentation" 2017-08-11 21:31:51 +00:00
WMDE-Fisch
6df9ed1ad6 update mediawiki-codesniffer to 0.11.0 and fix issues
- mostly auto fixes
- some too long lines fixed
- ignore amp space in one case  passing by reference

Change-Id: I6472f83bc3cbf4bd629d83050cc3319b19ec465c
2017-08-11 22:27:51 +02:00
Umherirrender
718e63694d Add missing @param and @return documentation
Change-Id: I1d1098eec3933df6561cceef646576013ddc08c8
2017-08-11 22:17:01 +02:00
Umherirrender
5544cef16b Add missing type to @param documentation
Change-Id: I6b2c9c7af9a281fe457099cc3a336a60a25e74aa
2017-08-11 20:37:35 +02:00
Umherirrender
ace44e2064 Use correct variable name in @param documentation
For some varargs a variable name is added with suffix ,... as seen for
many other varargs

Some @param are swapped, because there are in the wrong order

Enable Sniff MediaWiki.Commenting.FunctionComment.ParamNameNoMatch

Change-Id: I60fec6025bce824d5c67563ab7b65ad6cd628ad8
2017-08-11 19:27:19 +02:00
Umherirrender
a9007e8baf Add missing & to @param documentation to match functon call
Change-Id: I81e68310abcbc59964b22e0e74842d509f6b1fb9
2017-08-11 18:47:46 +02:00
Umherirrender
bf61a77431 Change @inheritdoc to @inheritDoc
Only @inheritDoc works for the Sniff
MediaWiki.Commenting.FunctionComment

Change-Id: I91fc02cda6701d790e4334fc2bc47f230955545c
2017-08-11 16:49:52 +02:00
jenkins-bot
79ef473a2f Merge "Fix some PHPDoc type hints in DatabaseMysqli" 2017-08-07 18:53:26 +00:00
jenkins-bot
fb79f30319 Merge "Fix and make some types in PHPDoc and JSDoc tags more specific" 2017-08-05 22:08:00 +00:00
Thiemo Mättig
c785efd25e Fix and make some types in PHPDoc and JSDoc tags more specific
Change-Id: I7c109067579f570ecccaabc75b0b4db7eac4e6c2
2017-08-05 18:46:44 +02:00
Reedy
4530424036 Fix return hint type in DatabaseSqlite::makeUpdateOptionsArray
Change-Id: Id45ddcef9212dfa8fd9545b70aff67cd29dda1d9
2017-08-05 14:00:43 +00:00
Ricordisamoa
3cda08749c Fix some PHPDoc type hints in DatabaseMysqli
Use `@param mysqli_result` instead of `@param mysqli`.

Change-Id: I7e759c740f666651463c5eda884debc0e12655b2
2017-07-29 11:17:24 +02:00
Timo Tijhof
da6235ce3a resourceloader: Fix @covers for CSSMin tests
Change-Id: Idb451d244fbdfbb218a56c2953298b7fe29ed3d4
2017-07-27 21:40:21 -07:00
jenkins-bot
101556a174 Merge "Re-introduce use of mime_content_type()" 2017-07-27 03:05:45 +00:00
Timo Tijhof
7f000f8681 Re-introduce use of mime_content_type()
Follows-up eac059c722. See also https://stackoverflow.com/a/39676272/319266.

This function was never deprecated. For a short time, the www.php.net
manual page for `mime_content_type` wrongly documented it as having been
deprecated in PHP 5.3, but this wasn't true, and it has been present in
every PHP version since PHP 4.3, including PHP 7 and HHVM 2.3+.

Between PHP 4.3.0-4.3.2 and PHP 5.0-5.3, the function would be absent
if the Mimemagic extension was not enabled at compile-time. However, while
mime_content_type was first introduced by the Mimemagic PHP ext, it is
backend by the Finfo extension since PHP 5.3.0.

Confirmed via https://3v4l.org/IQC1Q.

* CSSMin: Revert conditional use of finfo back to unconditional use
  of mime_content_type.

* MimeAnalyzer: Replace conditional use of finfo with unconditional use
  use of mime_content_type. Also remove the now-redundant 'else' branch.
  The 'else' branch existed because this code was written at a time where
  MediaWiki still supported PHP 4, of which some minor versions could
  sometimes be compiled without this function.

Change-Id: Iee4a0b6f616a469bb779c40e386045f9c3200446
2017-07-27 02:18:43 +00:00
Aaron Schulz
f4e0c720a8 rdbms: Ensure onTransactionPreCommitOrIdle() callbacks don't lead transactions
If no writes started a transaction yet, the callback would run
but not commit (by design, joining the request round). Later
writes will then pile on top of it.

The point of this method is to avoid such cases, so this edge
case has been fixed.

Change-Id: I9b44b19261d679de4aff6e44a9cfeb4f684ce02e
2017-07-26 14:28:48 -07:00
Brad Jorsch
edf69e62d8 MultiWriteBagOStuff: Fix async writes of mutable objects
If someone writes an object into a BagOStuff, they typically expect that
later changes to the object will not affect the value stored.
MultiWriteBagOStuff's async write handling was violating this
expectation, which is potentially causing T168040.

Bug: T168040
Change-Id: Ie897b900befdc8998614af06f9339cd07665703e
2017-07-25 02:08:00 +00:00
jenkins-bot
4a5f646a7f Merge "CSSMin: Skip #default#behaviorName when detecting local files" 2017-07-24 19:49:32 +00:00
Kunal Mehta
d1cf48a397 build: Update mediawiki/mediawiki-codesniffer to 0.10.1
And auto-fix all errors.

The `<exclude-pattern>` stanzas are now included in the default ruleset
and don't need to be repeated.

Change-Id: I928af549dc88ac2c6cb82058f64c7c7f3111598a
2017-07-22 18:24:09 -07:00
Julien Girault
032f0ce8cb CSSMin: Skip #default#behaviorName when detecting local files
Bug: T162973
Change-Id: If76869910f308f8a91c73f287e7e74c214f02e9b
2017-07-23 01:05:39 +02:00
jenkins-bot
e72303c9f3 Merge "Remove auto-generated "Constructor" documentation on constructors" 2017-07-21 13:19:44 +00:00
Thiemo Mättig
91a920fd85 Remove auto-generated "Constructor" documentation on constructors
Having such comments is worse than not having them. They add zero
information. But you must read the text to understand there is
nothing you don't already know from the class and the method name.

This is similar to I994d11e. Even more trivial, because this here is
about comments that don't say anything but "constructor".

Change-Id: I474dcdb5997bea3aafd11c0760ee072dfaff124c
2017-07-21 12:19:30 +02:00
Aaron Schulz
328365dcc8 Refactor LoadBalancer::setDomainPrefix() to use forEachOpen* method
This makes the code more consistent with the other class methods
that iterate over connection handles and less fragile.

Change-Id: Ie2d8efb80a66a5c87b5b3edd64cb6bc4268fa911
2017-07-20 13:12:33 -07:00
Aaron Schulz
f05716b1f6 Use constants for LoadBalancer connection array keys
Also renamed "foreignUsed" to "foreignInUse" for clarity.

Change-Id: Ida35042979a87417b38d256610b726611555d7b2
2017-07-20 19:38:59 +00:00
Aaron Schulz
bb54e69831 Fix docs for LoadBalancer::openConnection()
Change-Id: Ib05d98cb3670899a688d9882a2dc364f18e1d4bd
2017-07-19 19:33:32 -07:00
Timo Tijhof
c689fd2e4c doc: Fix a few Example docs for PHP classes
* "@example" is specifically for creating entries on the "Examples"
  page produced by Doxygen, which is not specific to individual classes
  or methods, but rather is meant to be about the software as a whole.
  There are currently four entries produced there, and they are all broken:
  - .../src/includes/rcfeed/RedisPubSubFeedEngine.php (unnamed example, broken)
  - .../src/tests/phpunit/MediaWikiTestCase.php (unnamed example)
  - 42 (empty page named "42")
  - user (empty page named "user")

* Remove usage and replace with either a regular paragraph that is
  part of the member/method/class description, or for code examples,
  use "@par" to create a sub heading, and then a @code-@endcode block.

Change-Id: I52c937fef4b377173f6c4dbad9dc4a9f8beae4ee
2017-07-17 20:29:58 -05:00
Mark Holmquist
bef66f7428 Add (hacky) check for webm audio files
If there is no video track in a webm file, it's supposed to be audio/webm,
but since we assume every webm file is video/webm, that's never worked.
This should slightly improve searching for audio files.

Bug: T156135
Change-Id: Iac749233e87b3622ff416ad503aedef3df0d0f1d
2017-07-11 14:06:19 -05:00
Thiemo Mättig
d14faa6bed Remove auto-generated "Constructor" documentation on constructors
Having such comments is worse than not having them. They add zero
information. But you must read the text to understand there is
nothing you don't already know from the class and the method name.

Change-Id: I994d11e05f202b880390723e148d79c72cca29f0
2017-07-10 10:15:51 +00:00
Timo Tijhof
01938ae7db statsd: Rename MediawikiStatsdDataFactory to IBufferingStatsdDataFactory
Follows-up I2874175647e (7fdc3d09a3).

* Avoid "MediaWiki" in class names. If unavoidable, always camelcase.
* Use a more descriptive name, matching the implementing the class ("Buffering").
* Use "I" prefix for consistency with other MediaWiki-provided interfaces.
  (Avoid "Interface" suffix, which is foreign to MediaWiki and is only used
  in the StatsdClient namespace, which this interface is not in).

Bug: T166354
Change-Id: I06de59122625f9c23e7c1a1bfa69a7ddabbf379e
2017-07-07 17:22:50 -07:00
jenkins-bot
1abc89fc76 Merge "Add Database::unionConditionPermutations()" 2017-07-07 18:37:09 +00:00
Jesús Martínez Novo
7f505be05b Documentation: Fix return value of IDatabase::insertSelect()
Implementation at Database returns bool, not IResultWrapper

Change-Id: Ic560bfcb45f0e9cd1f4e8334e3b5dfc4e682452a
2017-07-07 12:58:21 +02:00
Umherirrender
b5cddfb27b Remove empty lines at begin of function, if, foreach, switch
Organize phpcs.xml a bit

Change-Id: Ifb767729b481b4b686e6d6444cf48b1f580cc478
2017-07-01 11:34:16 +00:00
jenkins-bot
b1795df3cc Merge "jsminplus: Fix JSNode memory leak from 'continue' statements" 2017-06-30 00:23:01 +00:00
Timo Tijhof
babc7d7ef6 jsminplus: Fix JSNode memory leak from 'continue' statements
During parsing of scripts containing a 'continue' statement,
the JSNode for that statements, and all containing blocks (e.g. conditional
blocks, for-loop/white-loop statements , etc.) were being held
in memory indefinitely.

Bug: T31784
Change-Id: Id7006c264a470ba665434f6f275e49a1516b73ae
2017-06-28 18:19:20 -07:00
Aaron Schulz
422973292a Paramaterize TransactionProfiler log entries
Change-Id: I4e468d818af48dba21cd2c567f4e6a58beb0924b
2017-06-28 18:22:54 +00:00
jenkins-bot
b4ba469f26 Merge "Record TransactionProfiler violations beyond the first-by-type" 2017-06-28 01:13:14 +00:00
Aaron Schulz
e447f90896 Record TransactionProfiler violations beyond the first-by-type
Beyond giving a more complete picture, this can be used to adjust
the PostSend criteria to log master queries under the restInPeace()
entry point.

Bug: T166199
Change-Id: If5cf704ba10291d0eba63e66b388666fde3ca649
2017-06-27 16:44:33 -07:00
Aaron Schulz
82e2c924e4 Remove "@author Aaron Schulz" annotations
Bug: T139301
Change-Id: Ib5248e8e27d60611c7373bce4b29dd5e85aa3489
2017-06-27 15:24:14 -07:00
jenkins-bot
885f3775cd Merge "Downgrade 'found writes/callbacks pending.' from error to info" 2017-06-27 19:20:54 +00:00
Aaron Schulz
0352fe44f1 Avoid checking double-prefixed table names in mysql tableExists()
Change-Id: I9d91a5305227171d0776ffa443d4e538fbe1b15f
2017-06-27 18:41:32 +00:00
jenkins-bot
bc213a9d46 Merge "build: Prepare for mediawiki/mediawiki-codesniffer to 0.9.0" 2017-06-27 08:57:28 +00:00
jenkins-bot
8ddf721b6f Merge "Remove "@author Bryan Davis" and "Brad Jorsch" annotations" 2017-06-27 06:02:23 +00:00
Bryan Davis
aaf1e17088 Remove "@author Bryan Davis" and "Brad Jorsch" annotations
Undo traces of a practice we carried over from past projects and
existing examples that is neither universal nor actively encouraged in
the MediaWiki codebase.

Bug: T139301
Change-Id: I5c9c89b72a45a44aa4264a5e57b003c1a86cdf6e
Co-Authored-By: Brad Jorsch <bjorsch@wikimedia.org>
2017-06-26 15:25:46 -06:00
Umherirrender
be42e09aa8 build: Prepare for mediawiki/mediawiki-codesniffer to 0.9.0
The used phpcs has a bug, so the version 0.9.0 could not be enforced at the moment.
Will be fixed in next version, see T167168

Changed:
- Remove duplicate newline at end of file
- Add space between function and ( for closures
- and -> &&, or -> ||

Change-Id: I4172fb08861729bccd55aecbd07e029e2638d311
2017-06-26 17:14:31 +00:00
Mukunda Modell
148faa9f54 Downgrade 'found writes/callbacks pending.' from error to info
This generates useless logspam and should be logged with a lower
log level.

Bug: T149353
Change-Id: If5e84b89eca098ac7f8c788ca3b0d268adf799fb
2017-06-26 11:29:26 -05:00
jenkins-bot
f0f0365941 Merge "Fix the tableExists method of MysqlBase" 2017-06-22 21:24:17 +00:00