Zulip 服务器和 Web 应用程序。开源团队聊天可帮助团队保持高效和专注。
Go to file
Zev Benjamin 298e008cc2 [manual] Turn off GIN fast update for zephyr_message_search_tsvector
Apply this commit after hours!

To apply this commit, first run the migration and then run the following as the
zulip user on staging:

$ echo 'VACUUM zerver_message' | python manage.py dbshell

The above VACUUM is needed to clean out the existing fast update pending list.
It might take a long time and block new message inserts!

See discussion near Zulip message 18377486 for why we're turning off the fast
update mechanism for zephyr_message_search_tsvector.

The high level overview is:
As a consequence of the high work_mem setting on our postgres server, the
fastupdate pending list for zephyr_message_search_tsvector can grow very large.
This leads to the occasional INSERT or UPDATE taking inordinately long (many
minutes) as the pending list is flushed, blocking other inserts.

One other possible solution for preventing the list from growing too large is to
set the autovacuum storage parameters on the table such that the autovacuum
process will run after a reasonable number of INSERTs or UPDATEs.  However, the
table is mostly INSERT-only.  Therefore, only the autovacuum_analyze_*
parameters will actually do anything to affect when the autovacuumer will run,
but when it does, it will do a VACUUM ANALYZE instead of a plain VACUUM.  We
don't particularly need the table to be re-analyzed that often.

Turning off fast update will eventually cause the index to become less
efficient, but we can always rebuild it later if we notice it starting to get
too slow.

(imported from commit f280c193c3bc0a3f312960510c5a7dcf97f30c3d)
2014-05-20 22:38:48 -07:00
analytics Fix comment in meets_goal() function in activity reports. 2014-02-03 13:30:49 -05:00
api Handle platform.system() throwing an IOError 2014-05-20 17:29:29 -07:00
assets Allow enterprise deployments to disable the use of Gravatar. 2013-11-18 11:48:53 -05:00
bin logging: Log management commands that are run. 2013-11-20 14:31:08 -05:00
bots Update user_root path for personal zmirrors 2014-05-20 17:29:29 -07:00
confirmation Don't use hardcoded noreply@zulip.com, zulip@zulip.com, or https://zulip.com 2013-11-15 21:31:37 -05:00
corporate Modify /hello to go to register instead of signup on Enterprise 2013-11-22 13:50:24 -05:00
humbug Rename Django project to zproject. 2013-08-07 11:04:03 -04:00
node_modules Upgrade handlebars to 1.3.0. 2014-01-15 16:07:20 -05:00
puppet Change expected autossh processes to 10 2014-05-15 10:49:54 -07:00
scripts [manual] restart-server: Minimize downtime for message sender worker. 2013-12-19 17:21:23 -05:00
static Rewrite humbug-user-uploads.s3.amazonaws.com urls 2014-05-05 22:21:19 -07:00
templates Switch to a Zulip+Dropbox logo in the header 2014-04-16 22:24:35 -07:00
tools A script to export an entire stream. 2014-05-13 22:42:42 -07:00
zerver [manual] Turn off GIN fast update for zephyr_message_search_tsvector 2014-05-20 22:38:48 -07:00
zilencer [manual] Add script to migrate subs to new stream notification settings. 2014-03-03 16:08:33 -05:00
zproject Fix Google OAuth login by checking True as well as true in oauth response 2014-05-14 10:00:03 -07:00
.gitattributes enterprise: Don't include templates/zilencer in our tarballs 2013-11-15 11:53:49 -05:00
.gitignore gitignore *.DS_Store instead of .DS_Store 2014-05-07 14:06:59 -07:00
LICENSE Add license not referring to Zulip Enterprise license agreement. 2013-11-14 11:16:15 -05:00
manage.py logging: Log management commands that are run. 2013-11-20 14:31:08 -05:00
zulip_tools.py Move su_to_zulip into zulip_tools.py 2013-11-13 16:56:59 -05:00