diff --git a/dev/deps/dependencies-server b/dev/deps/dependencies-server
index 25c923f23..a7b15f6e5 100644
--- a/dev/deps/dependencies-server
+++ b/dev/deps/dependencies-server
@@ -18,7 +18,7 @@
HikariCP/4.0.3//HikariCP-4.0.3.jar
RoaringBitmap/1.0.6//RoaringBitmap-1.0.6.jar
aopalliance-repackaged/2.6.1//aopalliance-repackaged-2.6.1.jar
-ap-loader-all/3.0-9//ap-loader-all-3.0-9.jar
+ap-loader-all/4.0-10//ap-loader-all-4.0-10.jar
classgraph/4.8.138//classgraph-4.8.138.jar
commons-cli/1.5.0//commons-cli-1.5.0.jar
commons-crypto/1.0.0//commons-crypto-1.0.0.jar
diff --git a/docs/developers/jvmprofiler.md b/docs/developers/jvmprofiler.md
index 464ad14f7..40d48a557 100644
--- a/docs/developers/jvmprofiler.md
+++ b/docs/developers/jvmprofiler.md
@@ -20,7 +20,7 @@ license: |
Since version 0.5.0, Celeborn supports JVM sampling profiler to capture CPU and memory profiles. This article provides a detailed guide of Celeborn `Worker`'s code profiling.
## Worker Code Profiling
-The JVM profiler enables code profiling of workers based on the [async profiler](https://github.com/async-profiler/async-profiler/blob/v2.10/README.md), a low overhead sampling profiler.
+The JVM profiler enables code profiling of workers based on the [async profiler](https://github.com/async-profiler/async-profiler/blob/v4.0/README.md), a low overhead sampling profiler.
This allows a `Worker` instance to capture CPU and memory profiles for `Worker` which is later analyzed for performance issues.
The profiler captures [Java Flight Recorder (jfr)](https://access.redhat.com/documentation/es-es/red_hat_build_of_openjdk/17/html/using_jdk_flight_recorder_with_red_hat_build_of_openjdk/openjdk-flight-recorded-overview) files for each worker that can be read by tools like Java Mission Control and Intellij etc.
The profiler writes the jfr files to the `Worker`'s working directory in the `Worker`'s local file system and the files can grow to be large,
diff --git a/pom.xml b/pom.xml
index 40b66a10d..e5ee1a32f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -107,7 +107,7 @@
9.10.0
2.15.3
1.1.10.5
- 3.0-9
+ 4.0-10
4.7.6
1.37
diff --git a/project/CelebornBuild.scala b/project/CelebornBuild.scala
index 4387bfbf2..3922038a4 100644
--- a/project/CelebornBuild.scala
+++ b/project/CelebornBuild.scala
@@ -41,7 +41,7 @@ object Dependencies {
val lz4JavaVersion = sparkClientProjects.map(_.lz4JavaVersion).getOrElse("1.8.0")
// Dependent library versions
- val apLoaderVersion = "3.0-9"
+ val apLoaderVersion = "4.0-10"
val commonsCompressVersion = "1.4.1"
val commonsCryptoVersion = "1.0.0"
val commonsIoVersion = "2.17.0"