You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
** (MatchError) no match of right hand side value: {:error, :rollback}
lib/oban/peers/postgres.ex in anonymous fn/2 in Oban.Peers.Postgres.handle_info/2 at line 93
<redacted>/deps/telemetry/src/telemetry.erl in :telemetry.span/3 at line 321
lib/oban/peers/postgres.ex in Oban.Peers.Postgres.handle_info/2 at line 92
gen_server.erl in :gen_server.try_handle_info/3 at line 1077
gen_server.erl in :gen_server.handle_msg/6 at line 1165
proc_lib.erl in :proc_lib.init_p_do_apply/3 at line 241
Infrequently, the postgres peer election transaction returns `{:error,
:rollback}`. Now that return value is handled to prevent a match error.
The peer maintains its current `leader?` status on rollback—this may
cause inconsistency if the leader encounters an error and multiple
rollbacks happen in sequence. That tradeoff is acceptable because the
situation is unlikely and less of an issue than crashing the peer.
Closes#1007
Environment
main
elixir --version
)Current Behavior
We've seen this in Sentry:
This shows up in the current Oban code:
oban/lib/oban/peers/postgres.ex
Lines 93 to 98 in 09c29a3
Expected Behavior
This transaction result should likely be handled, right?
The text was updated successfully, but these errors were encountered: