1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-28 08:20:57 +01:00
phorge-phorge/resources/sql/patches
epriestley aae5f9efd3 Implement a more compact, general database-backed key-value cache
Summary:
See discussion in D4204. Facebook currently has a 314MB remarkup cache with a 55MB index, which is slow to access. Under the theory that this is an index size/quality problem (the current index is on a potentially-384-byte field, with many keys sharing prefixes), provide a more general index with fancy new features:

  - It implements PhutilKeyValueCache, so it can be a component in cache stacks and supports TTL.
  - It has a 12-byte hash-based key.
  - It automatically compresses large blocks of data (most of what we store is highly-compressible HTML).

Test Plan:
  - Basics:
    - Loaded /paste/, saw caches generate and save.
    - Reloaded /paste/, saw the page hit cache.
  - GC:
    - Ran GC daemon, saw nothing.
    - Set maximum lifetime to 1 second, ran GC daemon, saw it collect the entire cache.
  - Deflate:
    - Selected row formats from the database, saw a mixture of 'raw' and 'deflate' storage.
    - Used profiler to verify that 'deflate' is fast (12 calls @ 220us on my paste list).
  - Ran unit tests

Reviewers: vrana, btrahan

Reviewed By: vrana

CC: aran

Differential Revision: https://secure.phabricator.com/D4259
2012-12-21 14:17:56 -08:00
..
0000.legacy.sql Minor, completely remove references to PHID from schema patches so upgrade-from-scratch works. 2012-05-24 13:59:12 -07:00
000.project.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
001.maniphest_projects.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
002.oauth.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
003.more_oauth.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
004.daemonrepos.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
005.workers.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
006.repository.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
007.daemonlog.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
008.repoopt.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
009.repo_summary.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
010.herald.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
011.badcommit.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
012.dropphidtype.sql Minor, completely remove references to PHID from schema patches so upgrade-from-scratch works. 2012-05-24 13:59:12 -07:00
013.commitdetail.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
014.shortcuts.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
015.preferences.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
016.userrealnameindex.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
017.sessionkeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
018.owners.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
019.arcprojects.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
020.pathcapital.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
021.xhpastview.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
022.differentialcommit.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
023.dxkeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
024.mlistkeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
025.commentopt.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
026.diffpropkey.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
027.metamtakeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
028.systemagent.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
029.cursors.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
030.imagemacro.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
031.workerrace.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
032.viewtime.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
033.privtest.sql Improve schema upgrade workflow for unprivileged users 2011-04-30 00:50:48 -07:00
034.savedheader.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
035.proxyimage.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
036.mailkey.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
037.setuptest.sql Add a "setup" mode which guides new users through application configuration 2011-05-10 15:12:30 -07:00
038.admin.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
039.userlog.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
040.transform.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
041.heraldrepetition.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
042.commentmetadata.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
043.pastebin.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
044.countdown.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
045.timezone.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
046.conduittoken.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
047.projectstatus.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
048.relationshipkeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
049.projectowner.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
050.taskdenormal.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
051.projectfilter.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
052.pastelanguage.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
053.feed.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
054.subscribers.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
055.add_author_to_files.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
056.slowvote.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
057.parsecache.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
058.missingkeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
059.engines.php Delete license headers from files 2012-11-05 11:16:51 -08:00
060.phriction.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
061.phrictioncontent.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
062.phrictionmenu.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
063.pasteforks.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
064.subprojects.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
065.sshkeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
066.phrictioncontent.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
067.preferences.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
068.maniphestauxiliarystorage.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
069.heraldxscript.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
070.differentialaux.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
071.contentsource.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
072.blamerevert.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
073.reposymbols.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
074.affectedpath.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
075.revisionhash.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
076.indexedlanguages.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
077.originalemail.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
078.nametoken.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
079.nametokenindex.php Delete license headers from files 2012-11-05 11:16:51 -08:00
080.filekeys.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
081.filekeys.php Delete license headers from files 2012-11-05 11:16:51 -08:00
082.xactionkey.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
083.dxviewtime.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
084.pasteauthorkey.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
085.packagecommitrelationship.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
086.formeraffil.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
087.phrictiondelete.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
088.audit.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
089.projectwiki.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
090.forceuniqueprojectnames.php Delete license headers from files 2012-11-05 11:16:51 -08:00
091.uniqueslugkey.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
092.dropgithubnotification.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
093.gitremotes.php Delete license headers from files 2012-11-05 11:16:51 -08:00
094.phrictioncolumn.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
095.directory.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
096.filename.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
097.heraldruletypes.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
098.heraldruletypemigration.php Delete license headers from files 2012-11-05 11:16:51 -08:00
099.drydock.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
100.projectxaction.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
101.heraldruleapplied.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
102.heraldcleanup.php Delete license headers from files 2012-11-05 11:16:51 -08:00
103.heraldedithistory.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
104.searchkey.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
105.mimetype.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
106.chatlog.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
107.oauthserver.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
108.oauthscope.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
109.oauthclientphidkey.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
110.commitaudit.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
111.commitauditmigration.php Delete license headers from files 2012-11-05 11:16:51 -08:00
112.oauthaccesscoderedirecturi.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
113.lastreviewer.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
114.auditrequest.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
115.prepareutf8.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
116.utf8-backup-first-expect-wait.sql Minor, completely remove references to PHID from schema patches so upgrade-from-scratch works. 2012-05-24 13:59:12 -07:00
117.repositorydescription.php Delete license headers from files 2012-11-05 11:16:51 -08:00
118.auditinline.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
119.filehash.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
120.noop.sql Add "Flags" to allow users to collect the things they love 2012-03-27 16:22:40 -07:00
121.drydocklog.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
122.flag.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
123.heraldrulelog.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
124.subpriority.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
125.ipv6.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
126.edges.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
127.userkeybody.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
128.phabricatorcom.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
129.savedquery.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
130.denormalrevisionquery.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
131.migraterevisionquery.php Delete license headers from files 2012-11-05 11:16:51 -08:00
132.phame.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
133.imagemacro.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
134.emptysearch.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
135.datecommitted.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
136.sex.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
137.auditmetadata.sql SQL Patch Management: SQL Changes 2012-04-30 07:53:53 -07:00
138.notification.sql SQL patch for notification 2012-06-08 12:42:59 -07:00
20121209.pholioxactions.sql Genericize transactions in Pholio 2012-12-11 13:59:20 -08:00
20121209.xmacroadd.sql Modernize Macro application 2012-12-11 14:01:03 -08:00
20121209.xmacromigrate.php Modernize Macro application 2012-12-11 14:01:03 -08:00
20121209.xmacromigratekey.sql Modernize Macro application 2012-12-11 14:01:03 -08:00
20121220.generalcache.sql Implement a more compact, general database-backed key-value cache 2012-12-21 14:17:56 -08:00
daemonstatus.sql Save daemon state to database 2012-08-01 17:06:04 -07:00
daemonstatuskey.sql Show list of non-exited daemons 2012-08-14 18:01:15 -07:00
daemontaskarchive.sql Move completed tasks to an "archive" table and delete them in the GC 2012-10-31 15:22:16 -07:00
differentialbookmarks.sql [Phabricator] track Mercurial bookmarks for differential diffs 2012-06-30 15:41:58 -07:00
draft-metadata.sql Allow using StorageFixtureScopeGuard on Windows 2012-10-24 13:59:22 -07:00
dropfileproxyimage.sql Delete PhabricatorRemarkupRuleProxyImage 2012-11-07 14:31:43 -08:00
drydockresourcetype.sql Make various Drydock improvements 2012-11-01 16:53:17 -07:00
drydocktaskid.sql Undumb the Drydock resource allocator pipeline 2012-11-01 11:30:42 -07:00
edgetype.sql Save edge type as number 2012-08-16 14:43:03 -07:00
emailtable.sql Allow users to have multiple email addresses, and verify emails 2012-05-07 10:29:33 -07:00
emailtableport.php Delete license headers from files 2012-11-05 11:16:51 -08:00
emailtableremove.sql Allow users to have multiple email addresses, and verify emails 2012-05-07 10:29:33 -07:00
fact-raw.sql Work-in-progress schema for Facts app 2012-08-09 08:40:56 -07:00
harbormasterobject.sql Add a generic multistep Markup cache 2012-07-09 15:20:56 -07:00
holidays.sql Display holidays 2012-05-03 09:22:52 -07:00
ldapinfo.sql Made it possible to login using LDAP 2012-06-13 08:58:46 -07:00
liskcounters-task.sql Fix several migration issues with the Task/Counter patch 2012-11-16 10:19:22 -08:00
liskcounters.php Fix several migration issues with the Task/Counter patch 2012-11-16 10:19:22 -08:00
liskcounters.sql Provide an IDS_COUNTER mechanism for ID assignment 2012-11-07 13:33:07 -08:00
maniphestxcache.sql Use the unified markup cache for Maniphest 2012-07-11 11:40:10 -07:00
markupcache.sql Add a generic multistep Markup cache 2012-07-09 15:20:56 -07:00
migrate-differential-dependencies.php Delete license headers from files 2012-11-05 11:16:51 -08:00
migrate-maniphest-dependencies.php Delete license headers from files 2012-11-05 11:16:51 -08:00
migrate-maniphest-revisions.php Delete license headers from files 2012-11-05 11:16:51 -08:00
migrate-project-edges.php Delete license headers from files 2012-11-05 11:16:51 -08:00
owners-exclude.sql Allow excluding paths from package 2012-12-07 16:33:16 -08:00
pastepolicy.sql Add paste policy storage 2012-09-13 10:11:14 -07:00
phameblog.sql Phame - introduce blogs 2012-07-19 09:03:10 -07:00
phamedomain.sql Phame - allow blogs to specify custom URIs 2012-09-30 17:10:27 -07:00
phameoneblog.sql Make posts 1:1 with blogs and implement policy controls 2012-10-15 14:50:04 -07:00
phamepolicy.sql Make PhameBlogs respect policies 2012-10-15 14:49:52 -07:00
phiddrop.sql Remove PHID database, add Harbormaster database 2012-05-20 14:46:01 -07:00
pholio.sql Add very basic scaffolding for Pholio 2012-11-21 17:22:36 -08:00
policy-project.sql Add View, Edit and Join policies to PhabricatorProject 2012-08-11 07:05:01 -07:00
ponder-comments.sql adding comments to ponder 2012-09-11 12:13:20 -07:00
ponder-mailkey-populate.php Delete license headers from files 2012-11-05 11:16:51 -08:00
ponder-mailkey.sql Add mail keys to Ponder questions 2012-10-08 20:14:58 -07:00
ponder.sql Start Ponder questions from 11 2012-11-05 13:21:24 -08:00
repository-lint.sql Allow saving lint errors to database 2012-11-08 15:39:43 -08:00
statustxt.sql Create a status tool by giving /calendar/ some teeth 2012-10-24 13:22:24 -07:00
symbolcontexts.sql Add a context field to symbol objects 2012-08-06 12:20:45 -07:00
testdatabase.sql Remove PHID database, add Harbormaster database 2012-05-20 14:46:01 -07:00
threadtopic.sql Make Thread-Topic human readable 2012-06-14 11:36:34 -07:00
userstatus.sql Allowing setting user status 2012-05-03 18:24:30 -07:00
usertranslation.sql Allow user override translation and implement PhutilPerson 2012-06-14 18:33:00 -07:00
xhprof.sql Properly create xhpast database 2012-10-08 16:09:20 -07:00