1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-29 08:50:58 +01:00
phorge-phorge/src/applications
epriestley a0262c0b4f Remove tokenizer.ondemand, and always load on demand
Summary:
Ref T4420. Tokenizers currently operate in "preload" or "ondemand" modes. In the former mode, which is default, they'll try to load the entire result list when a page loads.

The theory here was that this would slightly improve the experience for small installs, and once they got big enough they could switch to "ondemand". In practice, several issues have arisen:

  - We generally don't have a good mechanism for telling installs that they should tweak perf config -- `metamta.send-immediately` is the canonical example here. Some large installs are probably affected negatively by not knowing to change this setting, and having settings like this is generally annoying.
  - We have way way too much config now.
  - With the advent of ApplicationSearch, pages like Maniphest make many redundant loads to prefill sources like projects. Most of the time, this data is not used. It's far simpler to switch everything to ondemand than try to deal with this, and dealing with this would mean creating two very complex divergent pathways in the codebase for a mostly theoretical performance benefit which only impacts tiny installs.
  - We've been using `tokenizer.ondemand` forever on `secure.phabricator.com` since we have many thousands of user accounts, and it doesn't seem sluggish and works properly.

Removing this config is an easy fix which makes the codebase simpler.

I've retained the ability to use preloaded sources, since they may make sense in some cases (in at least one case -- task priorities -- adding a static source pathway might make sense), and they're part of Javelin itself. However, the code will no longer ever go down that pathway.

Test Plan: Used `secure.phabricator.com` for years with this setting enabled.

Reviewers: btrahan, chad

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T4420

Differential Revision: https://secure.phabricator.com/D8232
2014-02-14 10:24:40 -08:00
..
arcanist/conduit Move Conduit methods inside applications 2012-12-21 12:21:59 -08:00
audit Perform search indexing in the worker queue and respect bin/search index --background 2014-01-14 13:22:56 -08:00
auth Miniturize the nav buttons 2014-01-31 09:10:32 -08:00
base Remove quick create buttons from application launcher 2014-01-29 17:23:50 -08:00
cache Complete modularization of the GC daemon 2014-01-15 10:02:31 -08:00
calendar Assign PHIDs to calendar events 2014-02-06 10:10:43 -08:00
chatlog Provide convenience method addTextCrumb() to PhabricatorCrumbsView 2013-12-18 17:47:34 -08:00
conduit Add diffusion.querycommits and deprecate diffusion.getcommits 2014-01-27 17:14:21 -08:00
config Remove tokenizer.ondemand, and always load on demand 2014-02-14 10:24:40 -08:00
conpherence Rename "status" to "event" in most URIs / classes / etc 2014-02-06 10:10:07 -08:00
countdown [Countdown] fix undefined variable errors 2014-02-05 05:33:31 -08:00
daemon Do not perform write in PhabricatorDaemonLogQuery by default 2014-01-21 14:04:12 -08:00
dashboard Add edit/view plumbing for dashboards and panels 2014-02-03 10:52:15 -08:00
differential Remove tokenizer.ondemand, and always load on demand 2014-02-14 10:24:40 -08:00
diffusion Remove tokenizer.ondemand, and always load on demand 2014-02-14 10:24:40 -08:00
diviner Miniturize the nav buttons 2014-01-31 09:10:32 -08:00
doorkeeper Move PhabricatorTagView to PHUITagView 2014-01-14 14:09:52 -08:00
draft/storage Add draft support to ApplicationTransactions 2012-12-21 05:57:14 -08:00
drydock Simplify PHUIObjectBoxViews handling of Save and Error states 2014-01-10 09:17:37 -08:00
fact Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00
feed Add some missing text for Differential inline transactions 2014-02-13 15:00:29 -08:00
files Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
flag Work around a bug in PHP 5.3-ish with abstract methods in interfaces 2013-10-25 15:58:17 -07:00
harbormaster Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
help/controller Make Differential views capability-sensitive 2013-09-26 18:45:04 -07:00
herald Support "only the first time" in Maniphest 2014-02-11 07:45:26 -08:00
home Fix jump nav for new search stuff 2014-02-03 14:30:16 -08:00
legalpad Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
lipsum Extend all "ManagementWorkflow" classes from a base class 2013-12-27 13:15:40 -08:00
macro Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
mailinglists Simplify PHUIObjectBoxViews handling of Save and Error states 2014-01-10 09:17:37 -08:00
maniphest Remove tokenizer.ondemand, and always load on demand 2014-02-14 10:24:40 -08:00
meta Remove quick create buttons from application launcher 2014-01-29 17:23:50 -08:00
metamta Allow unsubscription from projects 2014-02-11 07:45:56 -08:00
notification Add dates to notifications page 2014-01-22 20:09:32 -08:00
nuance Simplify PHUIObjectBoxViews handling of Save and Error states 2014-01-10 09:17:37 -08:00
oauthserver Initialize used variable 2013-07-09 21:55:27 -07:00
owners Simplify PHUIObjectBoxViews handling of Save and Error states 2014-01-10 09:17:37 -08:00
passphrase Detect and prompt for passwords on SSH private keys, then strip them 2014-01-30 11:43:06 -08:00
paste Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
people Provide result type information in tokenizers 2014-02-14 10:23:56 -08:00
phame Simplify PHUIObjectBoxViews handling of Save and Error states 2014-01-10 09:17:37 -08:00
phid Provide result type information in tokenizers 2014-02-14 10:23:56 -08:00
phlux Simplify PHUIObjectBoxViews handling of Save and Error states 2014-01-10 09:17:37 -08:00
pholio Use timeline view in Differential and make inlines somewhat usable again 2014-02-13 15:00:29 -08:00
phortune Provide convenience method addTextCrumb() to PhabricatorCrumbsView 2013-12-18 17:47:34 -08:00
phpast Replace some hsprintf() by phutil_tag() 2013-11-11 09:23:23 -08:00
phragment Simplify PHUIObjectBoxViews handling of Save and Error states 2014-01-10 09:17:37 -08:00
phrequent Lock policy queries to their applications 2013-10-21 17:20:27 -07:00
phriction Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
policy Make the "you can't edit away your edit capability" policy check generic 2014-02-10 14:31:16 -08:00
ponder Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
project Provide result type information in tokenizers 2014-02-14 10:23:56 -08:00
releeph Migrate Differential comments to ApplicationTransactions 2014-02-12 14:34:48 -08:00
remarkup/conduit Support processing Remarkup in bulk with remarkup.processbulk Conduit method 2013-11-02 16:30:11 -07:00
repository When creating foreign stubs during SVN import, mark them imported 2014-02-03 12:21:03 -08:00
search Fix alternate filtering conditions in object selector dialog 2014-02-11 07:45:33 -08:00
settings Miniturize the nav buttons 2014-01-31 09:10:32 -08:00
slowvote Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
subscriptions Make Projects a PhabricatorSubscribableInterface, but with restricted defaults 2014-02-10 14:29:17 -08:00
system Replace some hsprintf() by phutil_tag() 2013-11-11 09:23:23 -08:00
tokens Wrap the feed text rendering stuff with htmlspecialchars_decode 2014-02-03 17:05:30 -08:00
transactions Hide seen transactions by default in all modern applications 2014-02-14 10:23:07 -08:00
typeahead Show icons and disabled/archived/closed results in typahead dynamic list 2014-02-14 10:24:11 -08:00
uiexample PHUITimelineView 2014-02-12 09:02:05 -08:00
xhprof Make most file reads policy-aware 2013-09-30 09:38:13 -07:00