@@ -170,7 +170,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
170170 const bool inconsistentTx,
171171 const NMiniKQL::TTypeEnvironment& typeEnv,
172172 std::shared_ptr<NKikimr::NMiniKQL::TScopedAlloc> alloc,
173- const NKikimrDataEvents::TMvccSnapshot& mvccSnapshot,
173+ const std::optional< NKikimrDataEvents::TMvccSnapshot> & mvccSnapshot,
174174 const IKqpTransactionManagerPtr& txManager,
175175 const TActorId sessionActorId,
176176 TIntrusivePtr<TKqpCounters> counters,
@@ -815,7 +815,9 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
815815 FillEvWritePrepare (evWrite.get (), shardId, *TxId, TxManager);
816816 } else if (!InconsistentTx) {
817817 evWrite->SetLockId (LockTxId, LockNodeId);
818- *evWrite->Record .MutableMvccSnapshot () = MvccSnapshot;
818+ if (MvccSnapshot) {
819+ *evWrite->Record .MutableMvccSnapshot () = *MvccSnapshot;
820+ }
819821 }
820822
821823 const auto serializationResult = ShardedWriteController->SerializeMessageToPayload (shardId, *evWrite);
@@ -957,7 +959,7 @@ class TKqpTableWriteActor : public TActorBootstrapped<TKqpTableWriteActor> {
957959 const NMiniKQL::TTypeEnvironment& TypeEnv;
958960 std::shared_ptr<NKikimr::NMiniKQL::TScopedAlloc> Alloc;
959961
960- NKikimrDataEvents::TMvccSnapshot MvccSnapshot;
962+ std::optional< NKikimrDataEvents::TMvccSnapshot> MvccSnapshot;
961963
962964 const TTableId TableId;
963965 const TString TablePath;
@@ -1024,7 +1026,9 @@ class TKqpDirectWriteActor : public TActorBootstrapped<TKqpDirectWriteActor>, pu
10241026 Settings.GetInconsistentTx (),
10251027 TypeEnv,
10261028 Alloc,
1027- Settings.GetMvccSnapshot (),
1029+ Settings.GetIsOlap ()
1030+ ? std::optional<NKikimrDataEvents::TMvccSnapshot>{Settings.GetMvccSnapshot ()}
1031+ : std::optional<NKikimrDataEvents::TMvccSnapshot>{},
10281032 nullptr ,
10291033 TActorId{},
10301034 Counters,
@@ -1323,14 +1327,10 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
13231327 AFL_ENSURE (LockTxId == settings.TransactionSettings .LockTxId );
13241328 AFL_ENSURE (LockNodeId == settings.TransactionSettings .LockNodeId );
13251329 AFL_ENSURE (InconsistentTx == settings.TransactionSettings .InconsistentTx );
1326- AFL_ENSURE (MvccSnapshot.GetStep () == settings.TransactionSettings .MvccSnapshot .GetStep ());
1327- AFL_ENSURE (MvccSnapshot.GetTxId () == settings.TransactionSettings .MvccSnapshot .GetTxId ());
13281330 } else {
13291331 LockTxId = settings.TransactionSettings .LockTxId ;
13301332 LockNodeId = settings.TransactionSettings .LockNodeId ;
13311333 InconsistentTx = settings.TransactionSettings .InconsistentTx ;
1332- MvccSnapshot.SetStep (settings.TransactionSettings .MvccSnapshot .GetStep ());
1333- MvccSnapshot.SetTxId (settings.TransactionSettings .MvccSnapshot .GetTxId ());
13341334 }
13351335
13361336 auto & writeInfo = WriteInfos[settings.TableId ];
@@ -1344,7 +1344,7 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
13441344 InconsistentTx,
13451345 TypeEnv,
13461346 Alloc,
1347- MvccSnapshot ,
1347+ std:: nullopt ,
13481348 TxManager,
13491349 SessionActorId,
13501350 Counters,
@@ -2023,7 +2023,6 @@ class TKqpBufferWriteActor :public TActorBootstrapped<TKqpBufferWriteActor>, pub
20232023
20242024 std::shared_ptr<NKikimr::NMiniKQL::TScopedAlloc> Alloc;
20252025 NMiniKQL::TTypeEnvironment TypeEnv;
2026- NKikimrDataEvents::TMvccSnapshot MvccSnapshot;
20272026
20282027 struct TWriteInfo {
20292028 TKqpTableWriteActor* WriteTableActor = nullptr ;
@@ -2150,7 +2149,6 @@ class TKqpForwardWriteActor : public TActorBootstrapped<TKqpForwardWriteActor>,
21502149 .LockTxId = Settings.GetLockTxId (),
21512150 .LockNodeId = Settings.GetLockNodeId (),
21522151 .InconsistentTx = Settings.GetInconsistentTx (),
2153- .MvccSnapshot = Settings.GetMvccSnapshot (),
21542152 },
21552153 .Priority = Settings.GetPriority (),
21562154 };
0 commit comments