summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorssmike <[email protected]>2023-10-02 22:01:05 +0300
committerssmike <[email protected]>2023-10-02 22:18:30 +0300
commit40783f3773f9836f0e4d6dd71b30c65b56057dc9 (patch)
tree11a388af0645ef343d75490157f193ceb226724b
parentac1a9b5274c4b005819494ebfa90ac5d6aad913a (diff)
Fix issue codes
-rw-r--r--ydb/core/kqp/runtime/kqp_read_actor.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/ydb/core/kqp/runtime/kqp_read_actor.cpp b/ydb/core/kqp/runtime/kqp_read_actor.cpp
index 0f330211aee..b00a5e64bf9 100644
--- a/ydb/core/kqp/runtime/kqp_read_actor.cpp
+++ b/ydb/core/kqp/runtime/kqp_read_actor.cpp
@@ -620,15 +620,20 @@ public:
if (partition.ShardId == state->TabletId) {
// we re-resolved the same shard
NYql::TIssues issues;
+ Ydb::Issue::IssueMessage lastIssue;
for (auto& issue : state->Issues) {
- issues.AddIssue(issue.message());
+ // avoid add duplicate messages
+ if (lastIssue.message() != issue.message() || lastIssue.issue_code() != issue.issue_code()) {
+ issues.AddIssue(issue.message());
+ }
+ lastIssue = issue;
}
- RuntimeError(TStringBuilder() << "Too many retries for shard " << state->TabletId, NDqProto::StatusIds::StatusIds::INTERNAL_ERROR, issues);
+ RuntimeError(TStringBuilder() << "Too many retries for shard " << state->TabletId, NDqProto::StatusIds::StatusIds::UNAVAILABLE, issues);
PendingShards.PushBack(state.Release());
return;
}
} else if (!Snapshot.IsValid()) {
- return RuntimeError("inconsistent reads after shards split", NDqProto::StatusIds::INTERNAL_ERROR);
+ return RuntimeError("inconsistent reads after shards split", NDqProto::StatusIds::UNAVAILABLE);
}
if (keyDesc->GetPartitions().empty()) {