Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[PLAT-14909] Upgrade YBC version to 2.2.0.0-b4
Summary: Upgraded YBC client and server version to 2.2.0.0-b4 YBC commit: yugabyte/ybc@3dfd6c5 ISSUE We discovered a deadlock that happens due to holding a lock unnecessary in CloudStoreAggregateTaskInfo::AddSubTasks. A lock was being taken, one variable was updated (that needs the lock), then iterating through a map and creating & launching tasks. The deadlock happens if during this process of creating and launching tasks, one of the tasks completes. At this point, it needs to pick up this same lock as it needs to update the status and there we hit the deadlock. 99.999% of the time, we never get this deadlock since the time to execute and finish a task is much higher than the time it takes to create and launch all of the tasks. CHANGES The code in CloudStoreAggregateTaskInfo was updated to Pass the task_mgr_ in the constructor of CloudStoreTaskManager. Renamed the AddSubTasks to LaunchSubTasks and refactored the code to eliminate the need for AddSubTask method. The code in CloudStoreDirTaskMd has been refactored to make the locking of the queues more fine grained so that we only hold the lock just for the duration of the access of the queue. TEST All UTs have passed Test Plan: dev itests Reviewers: kkg Reviewed By: kkg Subscribers: yugaware Differential Revision: https://phorge.dev.yugabyte.com/D37234
- Loading branch information