-
Notifications
You must be signed in to change notification settings - Fork 11
CCMRG-1907 Refactor lock management in tasks to use LockManager #589
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
CCMRG-1907 Refactor lock management in tasks to use LockManager #589
Conversation
- Introduced LockManager for consistent lock handling across tasks. - Updated tasks (ManualTrigger, PreProcessUpload, UploadFinisher, etc.) to utilize LockManager for acquiring locks. - Added blocking timeout configuration to prevent indefinite waiting on locks. - Enhanced error handling with LockRetry for better retry logic on lock acquisition failures. - Removed redundant lock handling code and improved logging for lock operations. - Updated tests to reflect changes in lock management and ensure proper behavior under lock contention scenarios.
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #589 +/- ##
==========================================
- Coverage 93.86% 93.86% -0.01%
==========================================
Files 1284 1284
Lines 46492 46512 +20
Branches 1522 1522
==========================================
+ Hits 43642 43660 +18
- Misses 2540 2542 +2
Partials 310 310
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
CodSpeed Performance ReportMerging #589 will not alter performanceComparing Summary
Footnotes |
- Removed redundant comments regarding indefinite blocking timeout in multiple task files. - Updated documentation in the `ensure_hard_time_limit_task_is_numeric` helper to clarify its usage in tests. - Ensured consistency across tasks by standardizing the blocking timeout parameter handling.
- Eliminated unnecessary warning logs for lock acquisition failures in ManualTriggerTask, PreProcessUpload, UploadFinisherTask, and UploadTask. - Streamlined error handling by focusing on essential logging, improving code clarity and reducing log noise.
- Updated the `locked` method in `LockManager` to accept an optional `max_retries` parameter for better control over retry logic. - Adjusted task implementations (ManualTriggerTask, PreProcessUpload, UploadFinisherTask, UploadTask) to utilize the new `max_retries` parameter, improving error handling and logging consistency. - Removed redundant lock acquisition logging from tasks, streamlining the code and reducing log noise.
- Removed redundant comments in `LockManager` and `UploadTask` to enhance code clarity. - Updated `celery_config.py` to introduce configurable visibility timeouts for Redis broker based on task acknowledgment settings, improving task recovery and preventing duplicate executions. - Adjusted unit tests to reflect changes in visibility timeout configuration, ensuring accurate assertions.
|
It's failing on the 3 |
visibility_timeoutis now adjustable based on ifacks_lateis true.