diff --git a/mindspore_serving/ccsrc/worker/worker.cc b/mindspore_serving/ccsrc/worker/worker.cc index 9580147..761fb61 100644 --- a/mindspore_serving/ccsrc/worker/worker.cc +++ b/mindspore_serving/ccsrc/worker/worker.cc @@ -75,7 +75,7 @@ Status Worker::RegisterWorker() { } Status Worker::StartVersionController() { - version_controller_.StartPollModelPeriodic(); + // first disable auto updated return SUCCESS; } @@ -110,6 +110,13 @@ Status Worker::RemoveWorker(const ServableWorkerContext &work) { } Status Worker::Run(const proto::PredictRequest &request, proto::PredictReply *reply) { + std::shared_lock lock(worker_shared_lock_); + if (servable_stoppedd_) { + return INFER_STATUS_LOG_ERROR(FAILED) << "Run worker for inference failed, worker has been stopped"; + } + if (!servable_started_) { + return INFER_STATUS_LOG_ERROR(FAILED) << "Run worker for inference failed, worker has not been started"; + } MSI_EXCEPTION_IF_NULL(reply); std::vector inputs; RequestSpec request_spec; @@ -347,6 +354,7 @@ void Worker::StopServable(bool notify_master) { } void Worker::Clear() { + std::unique_lock lock(worker_shared_lock_); if (clear_flag_.test_and_set()) { return; } diff --git a/mindspore_serving/ccsrc/worker/worker.h b/mindspore_serving/ccsrc/worker/worker.h index d30ad4f..5f80ba4 100644 --- a/mindspore_serving/ccsrc/worker/worker.h +++ b/mindspore_serving/ccsrc/worker/worker.h @@ -22,6 +22,7 @@ #include #include #include +#include #include "worker/work_executor.h" #include "common/serving_common.h" #include "proto/ms_service.pb.h" @@ -108,6 +109,8 @@ class MS_API Worker { std::atomic_flag clear_flag_ = ATOMIC_FLAG_INIT; std::shared_ptr notify_master_ = nullptr; + std::shared_mutex worker_shared_lock_; + Status LoadServableConfig(const LoadServableSpec &servable_spec, const std::string &version_strategy, std::vector *real_version_number); void GetVersions(const LoadServableSpec &servable_spec, std::vector *real_versions); diff --git a/third_party/mindspore b/third_party/mindspore index 2403618..defb644 160000 --- a/third_party/mindspore +++ b/third_party/mindspore @@ -1 +1 @@ -Subproject commit 2403618aaa00d731f10e907ff12388abc3f1c751 +Subproject commit defb644c72edcd161e6011ef6d5dd92a51dbb802