From bbb92147b0859115f2ddff76cf225789127c523a Mon Sep 17 00:00:00 2001 From: ivanmorozov333 Date: Wed, 15 May 2024 18:56:46 +0300 Subject: [PATCH] fixes --- .../data_sharing/destination/session/destination.cpp | 5 ++--- .../destination/transactions/tx_finish_from_source.cpp | 2 +- .../destination/transactions/tx_finish_from_source.h | 1 + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ydb/core/tx/columnshard/data_sharing/destination/session/destination.cpp b/ydb/core/tx/columnshard/data_sharing/destination/session/destination.cpp index d0647be552a7..e09e894f8f92 100644 --- a/ydb/core/tx/columnshard/data_sharing/destination/session/destination.cpp +++ b/ydb/core/tx/columnshard/data_sharing/destination/session/destination.cpp @@ -95,9 +95,8 @@ NKikimr::TConclusion> TDestin } NKikimr::TConclusion> TDestinationSession::ReceiveFinished(NColumnShard::TColumnShard* self, const TTabletId sourceTabletId, const std::shared_ptr& selfPtr) { - auto result = GetCursorVerified(sourceTabletId).ReceiveFinished(); - if (!result) { - return result; + if (GetCursorVerified(sourceTabletId).GetDataFinished()) { + return TConclusionStatus::Fail("session finished already"); } return std::unique_ptr(new TTxFinishFromSource(self, sourceTabletId, selfPtr)); } diff --git a/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.cpp b/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.cpp index 94e9ec55d027..f09641f6696c 100644 --- a/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.cpp +++ b/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.cpp @@ -8,7 +8,7 @@ bool TTxFinishFromSource::DoExecute(NTabletFlatExecutor::TTransactionContext& tx NIceDb::TNiceDb db(txc.DB); db.Table().Key(Session->GetSessionId()) .Update(NIceDb::TUpdate(Session->SerializeCursorToProto().SerializeAsString())); - if (Session->GetSourcesInProgressCount() == 1) { + if (Session->GetSourcesInProgressCount() == 0) { Finished = true; if (Session->GetTransferContext().GetTxId()) { Self->GetProgressTxController().FinishProposeOnExecute(*Session->GetTransferContext().GetTxId(), txc); diff --git a/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.h b/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.h index 4e2f107d8a2f..982029b2c928 100644 --- a/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.h +++ b/ydb/core/tx/columnshard/data_sharing/destination/transactions/tx_finish_from_source.h @@ -20,6 +20,7 @@ class TTxFinishFromSource: public TExtendedTransactionBaseGetCursorVerified(SourceTabletId).ReceiveFinished().Validate(); } TTxType GetTxType() const override { return NColumnShard::TXTYPE_DATA_SHARING_FINISH_FROM_SOURCE; }