@@ -88,19 +88,25 @@ class TEvWriteCommitPrimaryTransactionOperator: public TEvWriteCommitSyncTransac
88
88
virtual bool DoExecute (NTabletFlatExecutor::TTransactionContext& txc, const NActors::TActorContext& /* ctx*/ ) override {
89
89
auto op = Self->GetProgressTxController ().GetTxOperatorVerifiedAs <TEvWriteCommitPrimaryTransactionOperator>(TxId);
90
90
auto copy = *op;
91
- AFL_VERIFY (copy.WaitShardsBrokenFlags .erase (TabletId))(" remove_tablet_id" , TabletId);
92
- copy.TxBroken = copy.TxBroken .value_or (false ) || BrokenFlag;
93
- Self->GetProgressTxController ().WriteTxOperatorInfo (txc, TxId, copy.SerializeToProto ().SerializeAsString ());
91
+ if (copy.WaitShardsBrokenFlags .erase (TabletId)) {
92
+ copy.TxBroken = copy.TxBroken .value_or (false ) || BrokenFlag;
93
+ Self->GetProgressTxController ().WriteTxOperatorInfo (txc, TxId, copy.SerializeToProto ().SerializeAsString ());
94
+ } else {
95
+ AFL_WARN (NKikimrServices::TX_COLUMNSHARD)(" event" , " repeated shard broken_flag info" )(" shard_id" , TabletId);
96
+ }
94
97
return true ;
95
98
}
96
99
virtual void DoComplete (const NActors::TActorContext& /* ctx*/ ) override {
97
100
auto op = Self->GetProgressTxController ().GetTxOperatorVerifiedAs <TEvWriteCommitPrimaryTransactionOperator>(TxId);
98
- AFL_VERIFY (op->WaitShardsBrokenFlags .erase (TabletId))(" remove_tablet_id" , TabletId);
99
- op->TxBroken = op->TxBroken .value_or (false ) || BrokenFlag;
100
- op->SendBrokenFlagAck (*Self, TabletId);
101
- AFL_DEBUG (NKikimrServices::TX_COLUMNSHARD)(" event" , " remove_tablet_id" )(" wait" , JoinSeq (" ," , op->WaitShardsBrokenFlags ))(
102
- " receive" , TabletId);
103
- op->InitializeRequests (*Self);
101
+ if (op->WaitShardsBrokenFlags .erase (TabletId)) {
102
+ op->TxBroken = op->TxBroken .value_or (false ) || BrokenFlag;
103
+ op->SendBrokenFlagAck (*Self, TabletId);
104
+ AFL_DEBUG (NKikimrServices::TX_COLUMNSHARD)(" event" , " remove_tablet_id" )(" wait" , JoinSeq (" ," , op->WaitShardsBrokenFlags ))(
105
+ " receive" , TabletId);
106
+ op->InitializeRequests (*Self);
107
+ } else {
108
+ AFL_WARN (NKikimrServices::TX_COLUMNSHARD)(" event" , " repeated shard broken_flag info" )(" shard_id" , TabletId);
109
+ }
104
110
}
105
111
106
112
public:
0 commit comments