flame icon indicating copy to clipboard operation
flame copied to clipboard

can't test async: (DBConnection.OwnershipError) cannot find ownership process

Open dustinfarris opened this issue 1 year ago • 1 comments

testing flame calls that involve the repo get hung up on the ownership process.

edit: simplified example

defmodule MyAppTest do
  test "flame accessing the db" do
    FLAME.call(MyPool, fn -> Repo.all(MySchema) end)
  end
end

raises

** (EXIT from #PID<0.544.0>) an exception was raised:
         ** (DBConnection.OwnershipError) cannot find ownership process for #PID<0.592.0>.

             (ecto_sql 3.9.2) lib/ecto/adapters/sql.ex:910: Ecto.Adapters.SQL.raise_sql_call_error/1
             (ecto_sql 3.9.2) lib/ecto/adapters/sql.ex:828: Ecto.Adapters.SQL.execute/6
             (ecto 3.9.6) lib/ecto/repo/queryable.ex:229: Ecto.Repo.Queryable.execute/4
             (ecto 3.9.6) lib/ecto/repo/queryable.ex:19: Ecto.Repo.Queryable.all/3
             (flame 0.1.7) lib/flame/runner.ex:408: anonymous fn/3 in FLAME.Runner.remote_call/4

this does not apply when async: false

dustinfarris avatar Dec 17 '23 02:12 dustinfarris

We probably need to set the $caller in the process dictionary accordingly.

josevalim avatar Dec 23 '23 18:12 josevalim