feat: add documentation URL for database lock errors #9531
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR improves user experience by displaying a documentation URL when database lock errors occur, guiding users to troubleshooting resources. This addresses cases where users encounter lock errors but cannot find the relevant documentation, as seen in discussions like #9525 and #9472.
The error handling has been centralized in
pkg/commands/run.goto eliminate code duplication and ensure consistent messaging.Changes:
Run()function inpkg/commands/run.gowith centralized error handlingbberrors.ErrTimeoutbberrorsfromgo.etcd.io/bbolt/errorspackage instead of deprecatedbolt.ErrTimeoutRelated issues
Before and After
Before
When a database lock timeout occurs, the error is displayed without any guidance:
Users had to search for solutions without clear direction to the documentation.
After
When a database lock timeout occurs, users see a helpful error with documentation link:
The timeout warning continues to work as before:
Checklist