diff options
author | lain <lain@soykaf.club> | 2020-12-08 16:36:51 +0000 |
---|---|---|
committer | lain <lain@soykaf.club> | 2020-12-08 16:36:51 +0000 |
commit | e73d878b381f28abbd50e3d4e4894ff56669231d (patch) | |
tree | 4e879ba5b0547273e9c044dde65e5ecc960dffe3 /lib | |
parent | 9d0839504e5a3b11dcdf7686c3526c7cb3a6178c (diff) | |
parent | 50d16a9e27189800f69901c4e90aa6f41bdf3193 (diff) | |
download | pleroma-e73d878b381f28abbd50e3d4e4894ff56669231d.tar.gz pleroma-e73d878b381f28abbd50e3d4e4894ff56669231d.zip |
Merge branch 'feat/warn-large-pool-size' into 'develop'
Add a startup error for modified Repo pool_size
See merge request pleroma/pleroma!3190
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/application_requirements.ex | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/pleroma/application_requirements.ex b/lib/pleroma/application_requirements.ex index b977257a3..e61576644 100644 --- a/lib/pleroma/application_requirements.ex +++ b/lib/pleroma/application_requirements.ex @@ -24,6 +24,7 @@ defmodule Pleroma.ApplicationRequirements do |> check_migrations_applied!() |> check_welcome_message_config!() |> check_rum!() + |> check_repo_pool_size!() |> handle_result() end @@ -188,6 +189,30 @@ defmodule Pleroma.ApplicationRequirements do defp check_system_commands!(result), do: result + defp check_repo_pool_size!(:ok) do + if Pleroma.Config.get([Pleroma.Repo, :pool_size], 10) != 10 and + not Pleroma.Config.get([:dangerzone, :override_repo_pool_size], false) do + Logger.error(""" + !!!CONFIG WARNING!!! + + The database pool size has been altered from the recommended value of 10. + + Please revert or ensure your database is tuned appropriately and then set + `config :pleroma, :dangerzone, override_repo_pool_size: true`. + + If you are experiencing database timeouts, please check the "Optimizing + your PostgreSQL performance" section in the documentation. If you still + encounter issues after that, please open an issue on the tracker. + """) + + {:error, "Repo.pool_size different than recommended value."} + else + :ok + end + end + + defp check_repo_pool_size!(result), do: result + defp check_filter(filter, command_required) do filters = Config.get([Pleroma.Upload, :filters]) |