Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrapper method to easily retry deadlock exceptions #38030

Merged
merged 1 commit into from
May 16, 2023

Conversation

juliushaertl
Copy link
Member

Wrapper around atomic() to retry after a retryable exception occurred

Certain transactions might need to be retried. This is especially useful in highly concurrent requests where a deadlocks is thrown by the database without waiting for the lock to be freed (e.g. due to MySQL/MariaDB deadlock detection)

@juliushaertl juliushaertl changed the title enh/retry transaction Wrapper method to easily retry deadlock exceptions May 2, 2023
@juliushaertl juliushaertl force-pushed the enh/retry-transaction branch 2 times, most recently from fe00005 to 2ed3880 Compare May 2, 2023 18:46
@juliushaertl juliushaertl added enhancement 3. to review Waiting for reviews pending documentation This pull request needs an associated documentation update labels May 2, 2023
@szaimen szaimen added this to the Nextcloud 27 milestone May 2, 2023
This was referenced May 3, 2023
Signed-off-by: Julius Härtl <jus@bitgrid.net>
@szaimen
Copy link
Contributor

szaimen commented May 16, 2023

CI failure unrelated

@szaimen szaimen merged commit 2bd08c8 into master May 16, 2023
@szaimen szaimen deleted the enh/retry-transaction branch May 16, 2023 09:53
@blizzz blizzz mentioned this pull request May 17, 2023
@DaphneMuller
Copy link

Hello!
Thank you for your work on this! I noticed that your PR still has the label 'documentation'. I'm not sure if you already had a look at the documentation for your PR, but at Nextcloud we strive to document changes that affect other app developers or other admins before the release takes place, and I'm pinging you with the hope to get this done.

Are you familiar with our documentation process already?
Changes that affect app developers should be documented here:
https://docs.nextcloud.com/server/27/developer_manual/app_publishing_maintenance/app_upgrade_guide/upgrade_to_27.html

Changes that affect administrators should be documented here:
https://docs.nextcloud.com/server/latest/admin_manual/release_notes/upgrade_to_27.html

While I understand sometimes it's handy to merge fast to get your changes in, it would be great if next time you could try to add the documentation before merging. You can find more information on that here:
https://docs.nextcloud.com/server/27/developer_manual/prologue/compatibility_app_ecosystem.html#documentation-procedures-of-changes-that-affect-app-developers

If all your documentation efforts are done, please remove the label 'documentation' and check the checkbox in your opening note and I'll stop bugging you :)

Many thanks in advance and thanks again for your work!

@juliushaertl
Copy link
Member Author

Started as nextcloud/documentation#10514 but will extend that a bit with more details later

@juliushaertl juliushaertl removed the pending documentation This pull request needs an associated documentation update label Jun 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3. to review Waiting for reviews enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants