diff options
author | snaury <snaury@ydb.tech> | 2023-03-03 18:30:48 +0300 |
---|---|---|
committer | snaury <snaury@ydb.tech> | 2023-03-03 18:30:48 +0300 |
commit | da07ebf5f023569919a1f78c997ac1e976feaf80 (patch) | |
tree | 68999e809d16fec062b686c43492c72a372e8039 | |
parent | a61300f2c663f1ade2a187a1bf5f696ce65b74da (diff) | |
download | ydb-da07ebf5f023569919a1f78c997ac1e976feaf80.tar.gz |
Handle release/restore for volatile transactions
-rw-r--r-- | ydb/core/tx/datashard/datashard_active_transaction.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ydb/core/tx/datashard/datashard_active_transaction.cpp b/ydb/core/tx/datashard/datashard_active_transaction.cpp index 4ac1ac3082f..33d8c6f3086 100644 --- a/ydb/core/tx/datashard/datashard_active_transaction.cpp +++ b/ydb/core/tx/datashard/datashard_active_transaction.cpp @@ -560,7 +560,7 @@ void TActiveTransaction::ReleaseTxData(NTabletFlatExecutor::TTxMemoryProviderBas DataTx->ReleaseTxData(); // Immediate transactions have no body stored. - if (!IsImmediate()) { + if (!IsImmediate() && !HasVolatilePrepareFlag()) { UntrackMemory(); TxBody.clear(); TrackMemory(); @@ -633,7 +633,7 @@ ERestoreDataStatus TActiveTransaction::RestoreTxData( // from the TxBody. For planned transaction we should // restore from local database. TVector<TSysTables::TLocksTable::TLock> locks; - if (!IsImmediate()) { + if (!IsImmediate() && !HasVolatilePrepareFlag()) { NIceDb::TNiceDb db(txc.DB); bool ok = self->TransQueue.LoadTxDetails(db, GetTxId(), Target, TxBody, locks, ArtifactFlags); |