Skip to content

Commit 26f1eef

Browse files
authored
Distinguish outdated schema from invalid schema in repl apply (#6710)
1 parent 57b1d08 commit 26f1eef

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

ydb/core/protos/tx_datashard.proto

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1829,6 +1829,7 @@ message TEvApplyReplicationChangesResult {
18291829
REASON_SCHEME_ERROR = 2;
18301830
REASON_BAD_REQUEST = 3;
18311831
REASON_UNEXPECTED_ROW_OPERATION = 4;
1832+
REASON_OUTDATED_SCHEME = 6;
18321833
}
18331834

18341835
optional EStatus Status = 1;

ydb/core/tx/datashard/datashard_repl_apply.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,9 @@ class TDataShard::TTxApplyReplicationChanges : public TTransactionBase<TDataShar
6565
<< " and cannot apply changes for schema version " << tableId.GetSchemaVersion();
6666
Result = MakeHolder<TEvDataShard::TEvApplyReplicationChangesResult>(
6767
NKikimrTxDataShard::TEvApplyReplicationChangesResult::STATUS_REJECTED,
68-
NKikimrTxDataShard::TEvApplyReplicationChangesResult::REASON_SCHEME_ERROR,
68+
tableId.GetSchemaVersion() < userTable.GetTableSchemaVersion()
69+
? NKikimrTxDataShard::TEvApplyReplicationChangesResult::REASON_OUTDATED_SCHEME
70+
: NKikimrTxDataShard::TEvApplyReplicationChangesResult::REASON_SCHEME_ERROR,
6971
std::move(error));
7072
return true;
7173
}

0 commit comments

Comments
 (0)