-
Notifications
You must be signed in to change notification settings - Fork 0
Release/v1.14.3 #20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release/v1.14.3 #20
Conversation
- quiet BaseDownloader retries and document ownership of error logging - add structured per-symbol logs plus integrity reports in metrics downloads - tie VisionDownloader session pools to requested concurrency and expand run stats - bump project version to 1.14.2 in uv.lock
…ocs structure - Fix changelog extraction to support date suffix format (## vX.X.X (YYYY-MM-DD)) - Reorganize documentation into guides/, api/, and advanced/ subdirectories - Switch to awesome-pages plugin for automatic navigation discovery
- Automatically create GitHub Release when publishing to PyPI - Upload wheel and source distribution files to the release - Include changelog content in release notes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on November 27
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| if request_delay > 0: | ||
| await asyncio.sleep(request_delay) | ||
| if request_delay > 0: | ||
| await asyncio.sleep(request_delay) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Unsynchronized Dictionary Access Causes Race Condition
A race condition exists in the _perf_stats dictionary. The _concurrent_lock was removed, but concurrent_count and max_concurrent are still updated concurrently by multiple tasks. This can lead to inaccurate performance statistics due to unsynchronized reads and writes.
| except ClientConnectionError as exc: | ||
| logger.debug(f"关闭aiohttp会话时出现连接问题: {exc}") | ||
| except Exception as exc: # noqa: BLE001 | ||
| logger.debug(f"关闭aiohttp会话时出现异常: {exc}") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bug: Race Condition in Lock Initialization
A race condition exists in _close_session() during self._session_lock initialization. The non-atomic check-then-set pattern allows concurrent calls to create multiple asyncio.Lock instances, defeating the synchronization and potentially leading to unsynchronized access to self._session.
No description provided.