@@ -717,7 +717,7 @@ void TColumnShard::StartIndexTask(std::vector<const NOlap::TCommittedData*>&& da
717717 auto indexChanges = TablesManager.MutablePrimaryIndex ().StartInsert (std::move (data));
718718 Y_ABORT_UNLESS (indexChanges);
719719
720- auto actualIndexInfo = std::make_shared<NOlap::TVersionedIndex>( TablesManager.GetPrimaryIndex ()->GetVersionedIndex () );
720+ auto actualIndexInfo = TablesManager.GetPrimaryIndex ()->GetVersionedIndexReadonlyCopy ( );
721721 indexChanges->Start (*this );
722722 auto ev = std::make_unique<TEvPrivate::TEvWriteIndex>(actualIndexInfo, indexChanges, Settings.CacheDataAfterIndexing );
723723
@@ -875,7 +875,7 @@ void TColumnShard::StartCompaction(const std::shared_ptr<NPrioritiesQueue::TAllo
875875 compaction->SetQueueGuard (guard);
876876 compaction->Start (*this );
877877
878- auto actualIndexInfo = std::make_shared<NOlap::TVersionedIndex>( TablesManager.GetPrimaryIndex ()->GetVersionedIndex () );
878+ auto actualIndexInfo = TablesManager.GetPrimaryIndex ()->GetVersionedIndexReadonlyCopy ( );
879879 auto request = compaction->ExtractDataAccessorsRequest ();
880880 const ui64 accessorsMemory = request->PredictAccessorsMemory (TablesManager.GetPrimaryIndex ()->GetVersionedIndex ().GetLastSchema ()) +
881881 indexChanges->CalcMemoryForUsage ();
@@ -973,7 +973,7 @@ bool TColumnShard::SetupTtl(const THashMap<ui64, NOlap::TTiering>& pathTtls) {
973973 return false ;
974974 }
975975
976- auto actualIndexInfo = std::make_shared<NOlap::TVersionedIndex>( TablesManager.GetPrimaryIndex ()->GetVersionedIndex () );
976+ auto actualIndexInfo = TablesManager.GetPrimaryIndex ()->GetVersionedIndexReadonlyCopy ( );
977977 for (auto && i : indexChanges) {
978978 i->Start (*this );
979979 auto request = i->ExtractDataAccessorsRequest ();
@@ -1033,7 +1033,7 @@ void TColumnShard::SetupCleanupPortions() {
10331033 changes->Start (*this );
10341034
10351035 auto request = changes->ExtractDataAccessorsRequest ();
1036- auto actualIndexInfo = std::make_shared<NOlap::TVersionedIndex>( TablesManager.GetPrimaryIndex ()->GetVersionedIndex () );
1036+ auto actualIndexInfo = TablesManager.GetPrimaryIndex ()->GetVersionedIndexReadonlyCopy ( );
10371037 const ui64 accessorsMemory = request->PredictAccessorsMemory (TablesManager.GetPrimaryIndex ()->GetVersionedIndex ().GetLastSchema ());
10381038 const auto subscriber = std::make_shared<TCleanupPortionsDataAccessorsSubscriber>(SelfId (), changes, actualIndexInfo);
10391039
@@ -1064,7 +1064,7 @@ void TColumnShard::SetupCleanupTables() {
10641064 }
10651065
10661066 ACFL_DEBUG (" background" , " cleanup" )(" changes_info" , changes->DebugString ());
1067- auto actualIndexInfo = std::make_shared<NOlap::TVersionedIndex>( TablesManager.GetPrimaryIndex ()->GetVersionedIndex () );
1067+ auto actualIndexInfo = TablesManager.GetPrimaryIndex ()->GetVersionedIndexReadonlyCopy ( );
10681068 auto ev = std::make_unique<TEvPrivate::TEvWriteIndex>(actualIndexInfo, changes, false );
10691069 ev->SetPutStatus (NKikimrProto::OK); // No new blobs to write
10701070
0 commit comments