Skip to content
This repository has been archived by the owner on Jan 3, 2024. It is now read-only.

Retry Util -> Busy Retry Util #226

Merged
merged 2 commits into from
Oct 13, 2023
Merged

Conversation

irq0
Copy link
Member

@irq0 irq0 commented Oct 11, 2023

Change SQLite transaction retry util into a busy retry util that only
retries database busy conditions not constraint errors

Related issue: https://github.com/aquarist-labs/s3gw/issues/645

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)

@irq0 irq0 force-pushed the pr/retry-transactions branch 3 times, most recently from 48a9921 to 0ac94a7 Compare October 12, 2023 10:59
@irq0 irq0 requested review from 0xavi0 and jecluis October 12, 2023 11:44
@irq0 irq0 self-assigned this Oct 12, 2023
@irq0 irq0 added the area/rgw-sfs RGW & SFS related label Oct 12, 2023
Marcel Lauhoff added 2 commits October 13, 2023 13:12
Return true if ec is an error signaling a busy database and the
transaction that failed is safe to retry.

Signed-off-by: Marcel Lauhoff <[email protected]>
Rename to RetrySQLiteBusy. Change behavior to:
 - rethrow non-busy errors immediately. We no longer retry errors that
    we should not like constraint violations
 - abort on critical errors (e.g db corruption)

Signed-off-by: Marcel Lauhoff <[email protected]>
@irq0 irq0 force-pushed the pr/retry-transactions branch from 0ac94a7 to 4622f24 Compare October 13, 2023 11:13
@irq0 irq0 merged commit 8bbed30 into aquarist-labs:s3gw Oct 13, 2023
5 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/rgw-sfs RGW & SFS related
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants