bors-ng icon indicating copy to clipboard operation
bors-ng copied to clipboard

bors gets stuck after a db crash

Open saifelse opened this issue 3 years ago • 0 comments

Hello! I am currently running bors on Build 524eff4. After bors mergeing 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. Running bors r+ / bors r- end up having no impact. One way to un-stuck the PR is to push a commit, and then run bors 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!

saifelse avatar May 05 '21 02:05 saifelse