bors-ng
bors-ng copied to clipboard
bors gets stuck after a db crash
Hello! I am currently running bors on Build 524eff4. After bors merge
ing on a PR, occasionally, I run into the following error:
{%DBConnection.ConnectionError{message: "ssl recv: closed"},
[
{Ecto.Adapters.Postgres.Connection, :execute, 4,
[
file: 'lib/ecto/adapters/postgres/connection.ex',
line: 108
]},
{Ecto.Adapters.SQL, :sql_call, 6,
[file: 'lib/ecto/adapters/sql.ex', line: 256]},
{Ecto.Adapters.SQL, :execute_or_reset, 7,
[file: 'lib/ecto/adapters/sql.ex', line: 436]},
{Ecto.Repo.Queryable, :execute, 5,
[file: 'lib/ecto/repo/queryable.ex', line: 133]},
{Ecto.Repo.Queryable, :all, 4,
[file: 'lib/ecto/repo/queryable.ex', line: 37]},
{BorsNG.Worker.Batcher, :do_handle_cast, 2,
[file: 'lib/worker/batcher.ex', line: 184]},
{BorsNG.Worker.Batcher, :handle_cast, 2,
[file: 'lib/worker/batcher.ex', line: 94]},
{:gen_server, :try_dispatch, 4,
[file: 'gen_server.erl', line: 637]}
]}
This is likely an issue with how I have my database set up, but it has a surprising behavior: after the crash, the PR ends up in a weird state:
- In Bors UI, it's corresponding Batch is marked as "Canceled".
- But in GitHub, the status is stuck in a
Running
state. Runningbors r+
/bors r-
end up having no impact. One way to un-stuck the PR is to push a commit, and then runbors r+
again.
My hunch is that this could be related to #256 where there is no longer transactionality?, but I don't know the bors data model / codebase well enough. Please let me know if there's any other information I can provide or if there's anything worth looking into the next time I run into this!