diff options
| author | Valery Mironov <[email protected]> | 2024-07-24 08:37:08 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-07-24 08:37:08 +0300 |
| commit | fa4c87c4d5ff04922ed8963c9165d05fbfad581a (patch) | |
| tree | b0c8e0f6a86139d7e3e9492f45142d784eb6388c | |
| parent | 86bca725ec12a5cb34e61f25cf98a595a2fe5c8c (diff) | |
Fix merge artifact (#6997)
3 files changed, 14 insertions, 6 deletions
diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp index 44799b2e81e..e7ac9c79cc1 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_apply_build_index.cpp @@ -133,7 +133,7 @@ TVector<ISubOperation::TPtr> CancelBuildIndex(TOperationId nextId, const TTxTran TPath index = table.Child(indexName); auto tableIndexDropping = TransactionTemplate(table.PathString(), NKikimrSchemeOp::EOperationType::ESchemeOpDropTableIndex); auto operation = tableIndexDropping.MutableDrop(); - operation->SetName(ToString(index.Base()->Name)); + operation->SetName(index.Base()->Name); result.push_back(CreateDropTableIndex(NextPartId(nextId, result), tableIndexDropping)); } diff --git a/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp b/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp index 9a97bb9f5a0..92e6fb6d574 100644 --- a/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp +++ b/ydb/core/tx/schemeshard/schemeshard__operation_drop_table.cpp @@ -530,9 +530,13 @@ public: if (parent.Base()->IsTableIndex()) { checks .IsTableIndex() - .IsInsideTableIndexPath() - .IsUnderDeleting() - .IsUnderTheSameOperation(OperationId.GetTxId()); //allow only as part of drop base table + .IsInsideTableIndexPath(); + // Not tmp index impl tables can be dropped only as part of drop index + if (!NTableIndex::IsTmpImplTable(name)) { + checks + .IsUnderDeleting() + .IsUnderTheSameOperation(OperationId.GetTxId()); + } } else { checks .IsLikeDirectory() diff --git a/ydb/core/tx/schemeshard/schemeshard_path_describer.cpp b/ydb/core/tx/schemeshard/schemeshard_path_describer.cpp index 32a7abb489f..ef7b47e859a 100644 --- a/ydb/core/tx/schemeshard/schemeshard_path_describer.cpp +++ b/ydb/core/tx/schemeshard/schemeshard_path_describer.cpp @@ -1288,8 +1288,12 @@ void TSchemeShard::DescribeTableIndex(const TPathId& pathId, const TString& name auto indexPath = *PathsById.FindPtr(pathId); Y_ABORT_UNLESS(indexPath); - const ui8 expectedIndexImplTableCount = indexInfo->Type == NKikimrSchemeOp::EIndexType::EIndexTypeGlobalVectorKmeansTree ? 2 : 1; - Y_ABORT_UNLESS(indexPath->GetChildren().size() == expectedIndexImplTableCount); + if (indexInfo->Type == NKikimrSchemeOp::EIndexType::EIndexTypeGlobalVectorKmeansTree) { + // For vector index we have 4 impl tables on build stage and 2 impl tables when it's ready + Y_ABORT_UNLESS(indexPath->GetChildren().size() == 4 || indexPath->GetChildren().size() == 2); + } else { + Y_ABORT_UNLESS(indexPath->GetChildren().size() == 1); + } ui64 dataSize = 0; for (const auto& indexImplTablePathId : indexPath->GetChildren()) { |
