You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AAP-43763 Fix incomplete error handling in advisory_lock wrapper (#713)
## Description
In AWX we relied on this behavior from `__clean_on_fork__`
And we ran this before starting every task. This actually masked a lot
of error handling bugs internal to the `advisory_lock` we were using. I
recently moved that method from AWX to DAB, and this puts it in a
situation not really safe for others to use.
This adds tests which are honest to the bug - they fail without the
corresponding fix, and fixes those bugs.
The condition we have breaks _all_ queries after the error. It is very
toxic.
Ping @bzwei for review
and @TheRealHaoLiu
## Type of Change
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] Documentation update
- [ ] Test update
- [ ] Refactoring (no functional changes)
- [ ] Development environment change
- [ ] Configuration change
## Self-Review Checklist
- [x] I have performed a self-review of my code
- [x] I have added relevant comments to complex code sections
- [ ] I have updated documentation where needed
- [x] I have considered the security impact of these changes
- [x] I have considered performance implications
- [x] I have thought about error handling and edge cases
- [ ] I have tested the changes in my local environment
## Testing Instructions
The tests are in the tests.
### Steps to Test
What the test does
1. obtain advisory lock
2. time out
3. make a query after that
### Expected Results
subsequent queries work
## Additional Context
in Jira
ansible/eda-server#1262
0 commit comments