@@ -100,7 +100,7 @@ class TTablePartitionWriter: public TActorBootstrapped<TTablePartitionWriter<TCh
100
100
event->Record .SetSource (source);
101
101
}
102
102
103
- this ->Send (LeaderPipeCache, new TEvPipeCache::TEvForward (event.Release (), TabletId, false ));
103
+ this ->Send (LeaderPipeCache, new TEvPipeCache::TEvForward (event.Release (), TabletId, true , ++SubscribeCookie ));
104
104
this ->Become (&TThis::StateWaitingStatus);
105
105
}
106
106
@@ -140,7 +140,7 @@ class TTablePartitionWriter: public TActorBootstrapped<TTablePartitionWriter<TCh
140
140
}
141
141
142
142
void Handle (TEvPipeCache::TEvDeliveryProblem::TPtr& ev) {
143
- if (TabletId == ev->Get ()->TabletId ) {
143
+ if (TabletId == ev->Get ()->TabletId && ev-> Cookie == SubscribeCookie ) {
144
144
Leave ();
145
145
}
146
146
}
@@ -194,7 +194,9 @@ class TTablePartitionWriter: public TActorBootstrapped<TTablePartitionWriter<TCh
194
194
mutable TMaybe<TString> LogPrefix;
195
195
196
196
TActorId LeaderPipeCache;
197
+ ui64 SubscribeCookie = 0 ;
197
198
TChangeRecordBuilderContextTrait<TChangeRecord> BuilderContext;
199
+
198
200
}; // TTablePartitionWriter
199
201
200
202
template <class TChangeRecord >
@@ -421,7 +423,7 @@ class TLocalTableWriter
421
423
return new TTablePartitionWriter<TChangeRecord>(this ->SelfId (), partitionId, TTableId (this ->PathId , Schema->Version ));
422
424
}
423
425
424
- const TVector<TKeyDesc::TPartitionInfo>& GetPartitions () const override { return KeyDesc->GetPartitions (); };
426
+ const TVector<TKeyDesc::TPartitionInfo>& GetPartitions () const override { return KeyDesc->GetPartitions (); }
425
427
const TVector<NScheme::TTypeInfo>& GetSchema () const override { return KeyDesc->KeyColumnTypes ; }
426
428
NKikimrSchemeOp::ECdcStreamFormat GetStreamFormat () const override { return TChangeRecord::StreamType; }
427
429
0 commit comments