Reporting Bugs
We appreciate your help in identifying and reporting bugs in Abstract Backend. A well-documented bug report helps us understand and fix issues quickly.
Before Reporting
Before submitting a bug report, please:
- Check existing issues: Search the GitHub Issues to see if the bug has already been reported.
- Update to the latest version: Verify that you're using the latest release of Abstract Backend or the latest
masterbranch commit, as the bug may have been fixed already. - Confirm it's a bug: Make sure the behavior you're experiencing is truly a bug and not expected behavior or a configuration issue.
How to Submit a Bug Report
Please submit bug reports through our GitHub Issues page using the "Bug Report" template.
What to Include
An effective bug report should include:
-
Clear and descriptive title: Summarize the issue concisely.
-
Environment details:
- Operating system and version
- Python version
- Abstract Backend version (or commit SHA)
- Installation method (pip, source)
- Any relevant configuration
-
Steps to reproduce:
- Be specific and provide a step-by-step guide to reproduce the issue
- Include example code if applicable
- Mention any specific conditions or setup required
-
Expected behavior: Describe what you expected to happen.
-
Actual behavior: Describe what actually happened.
-
Error messages: Include any error messages or logs (use code blocks for formatting).
-
Screenshots or recordings: If applicable, include visual evidence of the issue.
-
Possible solution: If you have insights into what might be causing the issue or ideas for fixing it, please share them.
Example Bug Report
Title: Memory backend loses messages when consumer restarts
Environment:
- OS: macOS 14.5
- Python: 3.11.8
- Abstract Backend: 0.5.0
- Installed via `uv pip install .`
Steps to Reproduce:
1. Start the development server using `uv run abe-dev-server`
2. Configure `MemoryBackend` as the default queue backend
3. Publish five test messages to the `notifications` topic
4. Restart the `AsyncLoopConsumer` while messages are in flight
Expected Behavior:
All five messages should be processed after the consumer restarts.
Actual Behavior:
Only the first two messages are processed; the remaining three are dropped without errors.
Additional Information:
Setting `LOG_LEVEL=DEBUG` shows "Consumer restarted" in the logs, but no warnings about discarded messages.
After Submitting
After you've submitted a bug report:
- Be responsive to questions about the issue
- Provide additional information if requested
- Consider helping test the fix when it becomes available
Thank you for helping improve Abstract Backend!