As a part of creating the kafka-based JobQueue implementation,
we need to transition to the new queue smoothly and be able to
first debug the event production side, then try executing a no-op
job in parallel with each of the real jobs (to be able to check
deduplication and all the jpb management code) and only then
try switching jobs one-by-one to the new backend queue.
In order to achieve that at first we need to temporary produce
both to the old job pipeline and to the new one - thus creating
a queue 'splitter' - it delegates all the methods to the main
queue while the produce requests also go to the EventBus.
This class it temporary, so it's marked deprecated right away.
It will not be needed once the queue transition is over.
Bug: T163380
Change-Id: I483b8f00f1c593ff3af6ba6826868b553339525f
I searched for /\$(\S+) = (.+?\(.*?\);)\n.*?\$\1\[/, ignored
everything involving isset(), unset() or array assigments, then
skimmed through the remaining results and changed things where they
made sense. These changes were not automated, so please review them.
Change-Id: Ib37b4c66fc57648470f151ad412210b3629c2538
* Fixes problem from 37042262e3
* The main class already handles the calls.
* Partitions call notifyQueueNonEmpty() on pop() even
when the other partitions have jobs, so it is also wrong
in addition to redundant.
Bug: T101427
Change-Id: Ic3235e1f2038053fabf92f97c663479a21d75317
* Moved all these hacks to JobQueueDB, which is the only queue that
should need this (for stock installs). Newer queues should always
have the queue store manage stuff like this, not MediaWiki.
* This also avoids expensive object construction that does nothing
when non-DB queues are used.
Change-Id: Id718cda25750be73044a049b39958cca55aa3172
* This does not really buy anything for a number of reason and
can cause bugs. For example, if the aggregator is notified due
to undelayed jobs but this cache is not updated, then the runners
will not see the jobs and will de-list aggregator entry.
bug: 68506
Change-Id: I1eacca108df59fff9c0fcc846aafaf1616cf5895
I have not found documentation about the @params command, so this seems
not valid.
I have moved the text to the corresponding @param
Change-Id: I443866d602b60570278289e6e24a77d37314cede
These files have all had treatment before, and these occurrences have either
been missed or have been introduced after.
Change-Id: I06cdab4616b5bff47c85152df28f18c861730a23
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.
Change-Id: Ifbb1da2a6278b0bde2a6f6ce2e7bd383ee3fb28a
* Added proper ejection and caching in HashRing to avoid rebuilding
the hash all the time (or doing manual caching).
* Made JobQueueFederated blacklist failing servers for a few seconds.
* Also made the JobQueueFederated root job methods properly respect
the weights when they fail over.
Change-Id: Ifa4c03272c1777cfff2523ab21f780074ddcf359