diff --git a/api/session/session/inner_session.cc b/api/session/session/inner_session.cc
index 052d49e8a..66358343e 100644
--- /opt/cloud/slavespace/usr1/096471637100f3de0fcfc01072822a80/ut/api/session/session/inner_session.cc
+++ /opt/cloud/slavespace/usr1/096471637100f3de0fcfc01072822a80/ut/api/session/session/inner_session.cc
@@ -133,6 +133,7 @@
 
 static std::mutex mutex_;  // BuildGraph and RunGraph use
 bool InnerSession::is_dump_server_inited_ = false;
+std::mutex InnerSession::dump_server_mutex_;
 InnerSession::InnerSession(uint64_t session_id, const std::map<std::string, std::string> &options)
     : is_initialized_(false), session_id_(session_id), options_(options) {}
 
@@ -698,13 +699,16 @@
 }
 
 Status InnerSession::AddDumpProperties(const DumpProperties &dump_properties) {
-  if (!is_dump_server_inited_) {
-    if ((dump_properties.IsDumpOpen() || dump_properties.IsOpDebugOpen())) {
-      GE_IF_BOOL_EXEC(AdxDataDumpServerInit() != kDumpStatus,
-                      GELOGE(PARAM_INVALID, "[Init][AdxDataDumpServer] failed, session_id:%" PRIu64 ".", session_id_);
-                      return PARAM_INVALID)
-      GELOGI("Init adx data dump server success");
-      is_dump_server_inited_ = true;
+  {
+    std::lock_guard<std::mutex> lock(dump_server_mutex_);
+    if (!is_dump_server_inited_) {
+      if ((dump_properties.IsDumpOpen() || dump_properties.IsOpDebugOpen())) {
+        GE_IF_BOOL_EXEC(AdxDataDumpServerInit() != kDumpStatus,
+                        GELOGE(PARAM_INVALID, "[Init][AdxDataDumpServer] failed, session_id:%" PRIu64 ".", session_id_);
+                        return PARAM_INVALID)
+        GELOGI("Init adx data dump server success");
+        is_dump_server_inited_ = true;
+      }
     }
   }
   if ((!dump_properties.GetEnableDump().empty()) || (!dump_properties.GetEnableDumpDebug().empty())) {
@@ -722,16 +726,19 @@
 
 Status InnerSession::RemoveDumpProperties() {
   DumpManager::GetInstance().RemoveDumpProperties(session_id_);
-  if (is_dump_server_inited_ && DumpManager::GetInstance().GetDumpPropertiesMap().empty()) {
-    GE_IF_BOOL_EXEC(AdxDataDumpServerUnInit() != kDumpStatus,
-                    GELOGE(PARAM_INVALID, "[UnInit][AdxDataDumpServer] failed, session_id:%" PRIu64 ".", session_id_);
-                    REPORT_INNER_ERR_MSG("E19999",
-                                         "RemoveDumpProperties failed because AdxDataDumpServerUnInit failed,"
-                                         "session_id:%" PRIu64 ".",
-                                         session_id_);
-                    return PARAM_INVALID)
-    GELOGI("UnInit adx data dump server success");
-    is_dump_server_inited_ = false;
+  {
+    std::lock_guard<std::mutex> lock(dump_server_mutex_);
+    if (is_dump_server_inited_ && DumpManager::GetInstance().GetDumpPropertiesMap().empty()) {
+      GE_IF_BOOL_EXEC(AdxDataDumpServerUnInit() != kDumpStatus,
+                      GELOGE(PARAM_INVALID, "[UnInit][AdxDataDumpServer] failed, session_id:%" PRIu64 ".", session_id_);
+                      REPORT_INNER_ERR_MSG("E19999",
+                                           "RemoveDumpProperties failed because AdxDataDumpServerUnInit failed,"
+                                           "session_id:%" PRIu64 ".",
+                                           session_id_);
+                      return PARAM_INVALID)
+      GELOGI("UnInit adx data dump server success");
+      is_dump_server_inited_ = false;
+    }
   }
   return SUCCESS;
 }

