Try to set query timeout intelligently
authorMark Felder <feld@feld.me>
Tue, 20 Apr 2021 16:16:24 +0000 (11:16 -0500)
committerMark Felder <feld@feld.me>
Thu, 22 Apr 2021 15:15:50 +0000 (10:15 -0500)
lib/pleroma/web/activity_pub/pipeline.ex

index 40082309496d6b80a31a88456a5f37b39ececc4a..a0f2e0312642ac431a8a5ffa9dd5bd906e623702 100644 (file)
@@ -7,6 +7,7 @@ defmodule Pleroma.Web.ActivityPub.Pipeline do
   alias Pleroma.Config
   alias Pleroma.Object
   alias Pleroma.Repo
+  alias Pleroma.Utils
   alias Pleroma.Web.ActivityPub.ActivityPub
   alias Pleroma.Web.ActivityPub.MRF
   alias Pleroma.Web.ActivityPub.ObjectValidator
@@ -24,7 +25,7 @@ defmodule Pleroma.Web.ActivityPub.Pipeline do
   @spec common_pipeline(map(), keyword()) ::
           {:ok, Activity.t() | Object.t(), keyword()} | {:error, any()}
   def common_pipeline(object, meta) do
-    case Repo.transaction(fn -> do_common_pipeline(object, meta) end, timeout: :infinity) do
+    case Repo.transaction(fn -> do_common_pipeline(object, meta) end, Utils.query_timeout()) do
       {:ok, {:ok, activity, meta}} ->
         @side_effects.handle_after_transaction(meta)
         {:ok, activity, meta}