Skip to content

Conversation

@Ahed92Wakim
Copy link
Owner

No description provided.

Refactors the package to support retries for a broader range of database transaction errors, not just MySQL deadlocks.

- Updates configuration to allow defining retryable SQL states, driver error codes, and exception classes.
- Renames classes and configuration files to reflect the broader scope.
- Adapts logging to include exception details, SQL state, and driver code.
Adds the ability to retry transactions that fail due to lock wait timeouts.

Introduces a configuration option to set the session-level lock wait timeout before each transaction attempt. This helps to prevent indefinite waiting and ensures a predictable timeout, even after reconnections or pool reuse.

Updates the documentation to reflect the new functionality and configuration options.
Allows support for Laravel 12 by updating the framework dependency in composer.json.

Updates the composer.lock file to reflect the new dependencies.

Removes lock wait timeout from top level config and moves it to the "Lock Wait Timeout" section.
@Ahed92Wakim Ahed92Wakim marked this pull request as ready for review October 22, 2025 16:08
@Ahed92Wakim Ahed92Wakim merged commit 662e913 into main Oct 22, 2025
2 checks passed
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