Refactor backend: fix geo cache cleanup, scheduler heartbeat, correlation middleware; update docs
This commit is contained in:
@@ -1,44 +1,3 @@
|
||||
### Issue #22: MEDIUM - Socket Cleanup Errors Silently Suppressed
|
||||
|
||||
**Where found**:
|
||||
- `backend/app/utils/fail2ban_client.py` (line 150)
|
||||
- Uses `contextlib.suppress(Exception)` hiding close errors
|
||||
- Resource leaks possible
|
||||
|
||||
**Why this is needed**:
|
||||
Suppressing all errors hides real problems:
|
||||
- Socket never actually closes
|
||||
- Connection pool exhaustion
|
||||
- File descriptors leak
|
||||
|
||||
**Goal**:
|
||||
Log errors properly while still cleaning up resources.
|
||||
|
||||
**What to do**:
|
||||
1. Replace suppress with logging:
|
||||
```python
|
||||
finally:
|
||||
try:
|
||||
await socket.close()
|
||||
except Exception as e:
|
||||
logger.warning(f"Error closing fail2ban socket: {e}", exc_info=True)
|
||||
```
|
||||
2. Audit other resource cleanup (database connections, HTTP sessions)
|
||||
3. Write tests that verify cleanup happens even on errors
|
||||
|
||||
**Possible traps and issues**:
|
||||
- Close might raise unexpected errors
|
||||
- Logging exceptions in finally blocks can cause issues
|
||||
- Resource exhaustion hard to debug if not logging
|
||||
|
||||
**Docs changes needed**:
|
||||
- Add resource cleanup guidelines to dev guide
|
||||
|
||||
**Doc references**:
|
||||
- DETAILED_FINDINGS.md - Issue #14 "Socket Cleanup Silent Fail"
|
||||
|
||||
---
|
||||
|
||||
### Issue #23: MEDIUM - Missing Default Configuration Documentation
|
||||
|
||||
**Where found**:
|
||||
|
||||
Reference in New Issue
Block a user