@@ -312,8 +312,15 @@ MilvusClientV2Impl::LoadCollection(const LoadCollectionRequest& request) {
312312 progress.total_ = 100 ;
313313 auto db_name = connection_.CurrentDbName (request.DatabaseName ());
314314 std::set<std::string> partition_names;
315- return connection_.GetLoadingProgress (db_name, request.CollectionName (), partition_names,
316- progress.finished_ );
315+ uint32_t loading_progress = 0 ;
316+ uint32_t refresh_progress = 0 ;
317+ auto status = connection_.GetLoadingProgress (db_name, request.CollectionName (), partition_names,
318+ loading_progress, refresh_progress);
319+ if (!status.IsOk ()) {
320+ return status;
321+ }
322+ progress.finished_ = request.Refresh () ? refresh_progress : loading_progress;
323+ return Status::OK ();
317324 },
318325 progress_monitor);
319326 };
@@ -350,8 +357,15 @@ MilvusClientV2Impl::refreshLoad(const RefreshLoadRequest& request, uint64_t rpc_
350357 progress.total_ = 100 ;
351358 auto db_name = connection_.CurrentDbName (request.DatabaseName ());
352359 std::set<std::string> partition_names;
353- return connection_.GetLoadingProgress (db_name, request.CollectionName (), partition_names,
354- progress.finished_ , rpc_timeout_ms);
360+ uint32_t loading_progress = 0 ;
361+ uint32_t refresh_progress = 0 ;
362+ auto status = connection_.GetLoadingProgress (db_name, request.CollectionName (), partition_names,
363+ loading_progress, refresh_progress, rpc_timeout_ms);
364+ if (!status.IsOk ()) {
365+ return status;
366+ }
367+ progress.finished_ = refresh_progress;
368+ return Status::OK ();
355369 },
356370 progress_monitor);
357371 };
@@ -585,10 +599,13 @@ MilvusClientV2Impl::getLoadState(const GetLoadStateRequest& request, GetLoadStat
585599 auto state = rpc_response.state ();
586600 response.SetState (LoadStateCast (state));
587601
602+ response.SetProgress (0 );
588603 if (state == proto::common::LoadState::LoadStateLoading) {
589604 uint32_t progress = 0 ;
590- auto status = connection_.GetLoadingProgress (request.DatabaseName (), request.CollectionName (),
591- request.PartitionNames (), progress, rpc_timeout_ms);
605+ uint32_t refresh_progress = 0 ;
606+ auto status =
607+ connection_.GetLoadingProgress (request.DatabaseName (), request.CollectionName (),
608+ request.PartitionNames (), progress, refresh_progress, rpc_timeout_ms);
592609 if (!status.IsOk ()) {
593610 return status;
594611 }
@@ -830,8 +847,15 @@ MilvusClientV2Impl::LoadPartitions(const LoadPartitionsRequest& request) {
830847 [&request, this ](Progress& progress) -> Status {
831848 progress.total_ = 100 ;
832849 auto db_name = connection_.CurrentDbName (request.DatabaseName ());
833- return connection_.GetLoadingProgress (db_name, request.CollectionName (), request.PartitionNames (),
834- progress.finished_ );
850+ uint32_t loading_progress = 0 ;
851+ uint32_t refresh_progress = 0 ;
852+ auto status = connection_.GetLoadingProgress (db_name, request.CollectionName (), request.PartitionNames (),
853+ loading_progress, refresh_progress);
854+ if (!status.IsOk ()) {
855+ return status;
856+ }
857+ progress.finished_ = request.Refresh () ? refresh_progress : loading_progress;
858+ return Status::OK ();
835859 },
836860 progress_monitor);
837861 };
@@ -1919,8 +1943,8 @@ MilvusClientV2Impl::FlushAll(const FlushAllRequest& request, FlushAllResponse& r
19191943
19201944 auto wait_for_status = [this , &request, &progress_monitor](const proto::milvus::FlushAllResponse& rpc_response) {
19211945 GetFlushAllStateRequest state_request = GetFlushAllStateRequest ()
1922- .WithDatabaseName (request.DatabaseName ())
1923- .WithFlushAllTs (rpc_response.flush_all_ts ());
1946+ .WithDatabaseName (request.DatabaseName ())
1947+ .WithFlushAllTs (rpc_response.flush_all_ts ());
19241948 return ConnectionHandler::WaitForStatus (
19251949 [this , &state_request](Progress& p) -> Status {
19261950 p.total_ = 1 ;
@@ -1951,7 +1975,7 @@ MilvusClientV2Impl::GetFlushAllState(const GetFlushAllStateRequest& request, Get
19511975
19521976Status
19531977MilvusClientV2Impl::getFlushAllState (const GetFlushAllStateRequest& request, GetFlushAllStateResponse& response,
1954- uint64_t rpc_timeout_ms) {
1978+ uint64_t rpc_timeout_ms) {
19551979 auto pre = [&request](proto::milvus::GetFlushAllStateRequest& rpc_request) {
19561980 rpc_request.set_db_name (request.DatabaseName ());
19571981 rpc_request.set_flush_all_ts (request.FlushAllTs ());
@@ -1977,12 +2001,13 @@ MilvusClientV2Impl::ListPersistentSegments(const ListPersistentSegmentsRequest&
19772001 return Status::OK ();
19782002 };
19792003
1980- auto post = [&response](const proto::milvus::GetPersistentSegmentInfoResponse& rpc_response) {
2004+ auto post = [&request, & response](const proto::milvus::GetPersistentSegmentInfoResponse& rpc_response) {
19812005 SegmentsInfo segments_info;
19822006 segments_info.reserve (rpc_response.infos_size ());
19832007 for (const auto & info : rpc_response.infos ()) {
19842008 segments_info.emplace_back (info.collectionid (), info.partitionid (), info.segmentid (), info.num_rows (),
1985- SegmentStateCast (info.state ()));
2009+ SegmentStateCast (info.state ()), request.CollectionName (),
2010+ SegmentLevelCast (info.level ()), info.storage_version (), info.is_sorted ());
19862011 }
19872012 response.SetResult (std::move (segments_info));
19882013 return Status::OK ();
@@ -2001,16 +2026,19 @@ MilvusClientV2Impl::ListQuerySegments(const ListQuerySegmentsRequest& request, L
20012026 return Status::OK ();
20022027 };
20032028
2004- auto post = [&response](const proto::milvus::GetQuerySegmentInfoResponse& rpc_response) {
2029+ auto post = [&request, & response](const proto::milvus::GetQuerySegmentInfoResponse& rpc_response) {
20052030 QuerySegmentsInfo segments_info;
20062031 segments_info.reserve (rpc_response.infos_size ());
20072032 for (const auto & info : rpc_response.infos ()) {
20082033 std::vector<int64_t > ids;
2034+ ids.reserve (info.nodeids_size ());
20092035 for (auto id : info.nodeids ()) {
20102036 ids.push_back (id);
20112037 }
20122038 segments_info.emplace_back (info.collectionid (), info.partitionid (), info.segmentid (), info.num_rows (),
2013- milvus::SegmentStateCast (info.state ()), info.index_name (), info.indexid (), ids);
2039+ milvus::SegmentStateCast (info.state ()), info.index_name (), info.indexid (), ids,
2040+ request.CollectionName (), info.mem_size (), SegmentLevelCast (info.level ()),
2041+ info.storage_version (), info.is_sorted ());
20142042 }
20152043 response.SetResult (std::move (segments_info));
20162044 return Status::OK ();
@@ -2433,7 +2461,7 @@ MilvusClientV2Impl::GetCompactionPlans(const GetCompactionPlansRequest& request,
24332461
24342462Status
24352463MilvusClientV2Impl::GetReplicateConfiguration (const GetReplicateConfigurationRequest& request,
2436- GetReplicateConfigurationResponse& response) {
2464+ GetReplicateConfigurationResponse& response) {
24372465 auto post = [&response](const proto::milvus::GetReplicateConfigurationResponse& rpc_response) {
24382466 ReplicateConfiguration configuration;
24392467 ConvertReplicateConfiguration (rpc_response.configuration (), configuration);
0 commit comments