elixir-ecto / db_connection

Database connection behaviour
http://hexdocs.pm/db_connection/DBConnection.html
306 stars 113 forks source link

(Owner.handle_cast/2) FunctionClauseError #35

Closed stavro closed 8 years ago

stavro commented 8 years ago

DB Connection version: 0.2.5

Opening this issue to better track it.

Using manual checkout mode. Haven't been able to track down exactly how or when this happens yet.

11:35:19.122 [error] Postgrex.Protocol (#PID<0.1074.0>) disconnected: ** (DBConnection.Error) client down
11:35:19.142 [error] GenServer #PID<0.1101.0> terminating
** (FunctionClauseError) no function clause matching in anonymous fn/1 in DBConnection.Ownership.Owner.handle_cast/2
    (db_connection) lib/db_connection/ownership/owner.ex:170: anonymous fn({{#Reference<0.0.2.4968>, #Reference<0.0.2.4970>}, 15000, {#PID<0.1100.0>, #Reference<0.0.2.4969>}}) in DBConnection.Ownership.Owner.handle_cast/2
    (stdlib) queue.erl:369: :queue.filter_f/2
    (stdlib) queue.erl:353: :queue.filter/2
    (db_connection) lib/db_connection/ownership/owner.ex:178: DBConnection.Ownership.Owner.handle_cast/2
    (stdlib) gen_server.erl:615: :gen_server.try_dispatch/4
    (stdlib) gen_server.erl:681: :gen_server.handle_msg/5
    (stdlib) proc_lib.erl:240: :proc_lib.init_p_do_apply/3
11:35:19.142 [error] #PID<0.1098.0> running SchedWeb.Endpoint terminated
Server: localhost:4001 (http)
Request: POST /login
** (exit) exited in: GenServer.call(#PID<0.1101.0>, {:checkout, #Reference<0.0.5.2433>, true, 15000}, 5000)
    ** (EXIT) time out
11:35:19.143 [error] Process #PID<0.1100.0> raised an exception
** (Postgrex.Error) tcp recv: closed
    (ecto) lib/ecto/adapters/sql.ex:405: Ecto.Adapters.SQL.struct/6
    (ecto) lib/ecto/repo/schema.ex:373: Ecto.Repo.Schema.apply/5
    (ecto) lib/ecto/repo/schema.ex:179: anonymous fn/11 in Ecto.Repo.Schema.do_insert/4
    (ecto) lib/ecto/repo/schema.ex:584: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/6
    (ecto) lib/ecto/adapters/sql.ex:450: anonymous fn/3 in Ecto.Adapters.SQL.do_transaction/3
    (db_connection) lib/db_connection.ex:1079: DBConnection.transaction_run/4
    (db_connection) lib/db_connection.ex:1009: DBConnection.run_begin/3
    (db_connection) lib/db_connection.ex:766: DBConnection.transaction/3

Appears to be a bug in DBConnection.

fishcakez commented 8 years ago

This fun expects a queue to contain 2-tuple items: https://github.com/fishcakez/db_connection/blob/v0.2.5/lib/db_connection/ownership/owner.ex#L170 However 3-tuple items are inserted: https://github.com/fishcakez/db_connection/blob/v0.2.5/lib/db_connection/ownership/owner.ex#L133

On 27 April 2016 at 22:09, Sean Stavropoulos notifications@github.com wrote:

DB Connection version: 0.2.5

Opening this issue to better track it.

Using manual checkout mode. Haven't been able to track down exactly how or when this happens yet.

11:35:19.122 [error] Postgrex.Protocol (#PID<0.1074.0>) disconnected: * (DBConnection.Error) client down 11:35:19.142 [error] GenServer #PID<0.1101.0> terminating * (FunctionClauseError) no function clause matching in anonymous fn/1 in DBConnection.Ownership.Owner.handle_cast/2 (db_connection) lib/db_connection/ownership/owner.ex:170: anonymous fn({{#Reference<0.0.2.4968>, #Reference<0.0.2.4970>}, 15000, {#PID<0.1100.0>, #Reference<0.0.2.4969>}}) in DBConnection.Ownership.Owner.handle_cast/2 (stdlib) queue.erl:369: :queue.filter_f/2 (stdlib) queue.erl:353: :queue.filter/2 (db_connection) lib/db_connection/ownership/owner.ex:178: DBConnection.Ownership.Owner.handle_cast/2 (stdlib) gen_server.erl:615: :gen_server.try_dispatch/4 (stdlib) gen_server.erl:681: :gen_server.handle_msg/5 (stdlib) proc_lib.erl:240: :proc_lib.init_p_do_apply/3 11:35:19.142 [error] #PID<0.1098.0> running SchedWeb.Endpoint terminated Server: localhost:4001 (http) Request: POST /login * (exit) exited in: GenServer.call(#PID<0.1101.0>, {:checkout, #Reference<0.0.5.2433>, true, 15000}, 5000) * (EXIT) time out 11:35:19.143 [error] Process #PID<0.1100.0> raised an exception \ (Postgrex.Error) tcp recv: closed (ecto) lib/ecto/adapters/sql.ex:405: Ecto.Adapters.SQL.struct/6 (ecto) lib/ecto/repo/schema.ex:373: Ecto.Repo.Schema.apply/5 (ecto) lib/ecto/repo/schema.ex:179: anonymous fn/11 in Ecto.Repo.Schema.do_insert/4 (ecto) lib/ecto/repo/schema.ex:584: anonymous fn/3 in Ecto.Repo.Schema.wrap_in_transaction/6 (ecto) lib/ecto/adapters/sql.ex:450: anonymous fn/3 in Ecto.Adapters.SQL.do_transaction/3 (db_connection) lib/db_connection.ex:1079: DBConnection.transaction_run/4 (db_connection) lib/db_connection.ex:1009: DBConnection.run_begin/3 (db_connection) lib/db_connection.ex:766: DBConnection.transaction/3

Appears to be a bug in DBConnection.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/fishcakez/db_connection/issues/35

fishcakez commented 8 years ago

Fixed in #36