Skip to content

fix: don't retry signal job inserts inside a transaction - #229

Merged
zachdaniel merged 1 commit into
ash-project:mainfrom
jeffhuen:signals-retry-in-transaction
Oct 25, 2026
Merged

zachdaniel merged 1 commit into
ash-project:mainfrom
jeffhuen:signals-retry-in-transaction

Conversation

@jeffhuen

Copy link
Copy Markdown
Contributor

AshOban.Signals inserts jobs in the emitting action's transaction. If that insert fails, Oban.Repo.transaction/3 retries inside the aborted transaction, and the caller gets connection is closed after about 5 seconds instead of the original error. Oban's docs say to pass retry: false there.

This PR passes retry: false when Oban's repo is in a transaction, and requires Oban 2.24, the first version whose Basic engine passes insert options to its transaction.

Contributor checklist

Leave anything that you believe does not apply unchecked.

  • I accept the AI Policy, or AI was not used in the creation of this PR.
  • Bug fixes include regression tests
  • Chores
  • Documentation changes
  • Features include unit/acceptance tests
  • Refactoring
  • Update dependencies

@zachdaniel
zachdaniel merged commit b3e8f38 into ash-project:main Oct 25, 2026
23 of 25 checks passed
@zachdaniel

Copy link
Copy Markdown
Contributor

🚀 Thank you for your contribution! 🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants