Add a startup error for modified Repo pool_size
authorMark Felder <feld@FreeBSD.org>
Mon, 7 Dec 2020 22:36:44 +0000 (16:36 -0600)
committerMark Felder <feld@FreeBSD.org>
Mon, 7 Dec 2020 22:44:55 +0000 (16:44 -0600)
lib/pleroma/application_requirements.ex

index b977257a388ec40fe0560e770451c067492a077a..41f6c6e3466052ac61bd51667fb71938d373f843 100644 (file)
@@ -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,24 @@ 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.\n
+      Please revert or ensure your database is tuned appropriately and then set\n
+      `config :pleroma, :dangerzone, override_repo_pool_size: true`.
+      """)
+
+      {:error, "Repo.pool_size above 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])