1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-11 09:22:40 +01:00
phorge-phorge/src/applications/maniphest
epriestley 731404445f Improve task subpriority movement algorithm for homogenous blocks
Summary:
Fixes T7664. When there are a large number of tasks (400+) with the same subpriority (which can happen if the subpriority features are rarely used), it may take more than 30 seconds to rebalance them.

Make the algorithm more aggressive about rebalancing homogenous blocks of tasks.

This may need to get even fancier, but I'd guess it can process blocks 1-2 orders of magnitude larger, which should be ~all installs.

(If someone still hits issues with this, I'll make it fancier.)

Once a block is rebalanced, it doesn't need to be rebalanced again (at least, not as a whole block) so we basically just need to get over the initial hurdle here and then we're good.

In the worst case, we can provide `bin/maniphest rebalance` or similar and do the rebalance step offline.

And, in any case, we have more test coverage here now.

Test Plan:
  - Existing tests.
  - New tests.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T7664

Differential Revision: https://secure.phabricator.com/D12166
2015-03-26 11:11:23 -07:00
..
__tests__ Improve task subpriority movement algorithm for homogenous blocks 2015-03-26 11:11:23 -07:00
application Revamp Profile with new IconNav 2015-02-02 12:13:48 -08:00
capability Simplify the implementation of PhabricatorPolicyCapability subclasses 2014-07-25 08:25:42 +10:00
conduit Remove deprecated maniphest.find Conduit method 2015-01-02 10:03:31 +11:00
config Lock all reply-handler options in the upstream, plus cookie prefix 2015-02-13 11:00:09 -08:00
constants Remove @group annotations 2014-07-10 08:12:48 +10:00
controller Fix literally thousands of drag-to-reorder priority bugs 2015-03-20 17:38:25 -07:00
edge Modernize Pholio edges 2015-01-02 10:11:41 +11:00
editor Improve task subpriority movement algorithm for homogenous blocks 2015-03-26 11:11:23 -07:00
event Revamp Profile with new IconNav 2015-02-02 12:13:48 -08:00
export phutil_utf8_shorten => PhutilUTF8StringTruncator 2014-08-29 15:15:13 -07:00
field Use ApplicationTransactions and CustomField to implement build steps 2014-03-25 16:08:40 -07:00
lipsum Fix some linter violations 2015-01-03 09:11:41 +11:00
mail MetaMTA - update documentation and make config a tad easier 2015-02-12 11:05:39 -08:00
phid Rename PHIDType classes 2014-07-24 08:05:46 +10:00
query Improve task subpriority movement algorithm for homogenous blocks 2015-03-26 11:11:23 -07:00
remarkup Rename PhutilRemarkupRule subclasses 2014-08-05 00:55:43 +10:00
search Maniphest - use subscribers framework properly 2014-12-10 16:27:30 -08:00
storage Remove temporary code 2015-02-10 08:22:23 +11:00
typeahead T5015, Allow Herald rules for Maniphest to act on task status changes 2014-11-12 12:55:24 -08:00
view Policy - update TODO to better tracking task for Maniphest drag and drop policy fix 2015-02-03 12:29:08 -08:00