Skip to content

Commit

Permalink
[PLAT-14909] Upgrade YBC version to 2.2.0.0-b4
Browse files Browse the repository at this point in the history
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
kv83821-yb committed Aug 13, 2024
1 parent 4d2f71f commit 99489c0
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion managed/build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -927,7 +927,7 @@ runPlatform := {
}

libraryDependencies += "org.yb" % "yb-client" % "0.8.93-SNAPSHOT"
libraryDependencies += "org.yb" % "ybc-client" % "2.2.0.0-b3"
libraryDependencies += "org.yb" % "ybc-client" % "2.2.0.0-b4"
libraryDependencies += "org.yb" % "yb-perf-advisor" % "1.0.0-b33"

libraryDependencies ++= Seq(
Expand Down
2 changes: 1 addition & 1 deletion managed/src/main/resources/reference.conf
Original file line number Diff line number Diff line change
Expand Up @@ -1257,7 +1257,7 @@ yb {

ybc {
releases {
stable_version = "2.2.0.0-b3"
stable_version = "2.2.0.0-b4"
path = "/opt/yugabyte/ybc/releases"
}
compatible_db_version = "2.15.0.0-b1"
Expand Down

0 comments on commit 99489c0

Please sign in to comment.