Skip to content

fixed User.update_and_set_cache for stale user

** (Ecto.StaleEntryError) attempted to update a stale struct:

%Pleroma.User{__meta__: #Ecto.Schema.Metadata<:loaded, "users">, ap_id: "http://localhost:4001/users/nick1800", ...., search_rank: nil, search_type: nil, tags: [], updated_at: ~N[2019-07-23 12:59:42]}

    (ecto) lib/ecto/repo/schema.ex:665: Ecto.Repo.Schema.apply/4
    (ecto) lib/ecto/repo/schema.ex:347: anonymous fn/15 in Ecto.Repo.Schema.do_update/4
    (ecto) lib/ecto/repo/schema.ex:914: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/6
    (ecto_sql) lib/ecto/adapters/sql.ex:887: anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
    (db_connection) lib/db_connection.ex:1415: DBConnection.run_transaction/4
    (pleroma) lib/pleroma/user.ex:474: Pleroma.User.update_and_set_cache/1
    (pleroma) lib/pleroma/signature.ex:42: Pleroma.Signature.sign/2
    (pleroma) lib/pleroma/web/activity_pub/publisher.ex:56: Pleroma.Web.ActivityPub.Publisher.publish_one/1
    (pleroma) lib/pleroma/web/federator/retry_queue.ex:138: Pleroma.Web.Federator.RetryQueue.worker/1
    (elixir) lib/task/supervised.ex:90: Task.Supervised.invoke_mfa/2
    (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
Function: #Function<2.86300963/0 in Pleroma.Web.Federator.RetryQueue.start_n_jobs/4>
    Args: []

Merge request reports