Skip to content

Commit d356543

Browse files
authored
fix error code of initialization of read (#7759)
1 parent 25fba26 commit d356543

File tree

3 files changed

+24
-1
lines changed

3 files changed

+24
-1
lines changed

ydb/services/persqueue_v1/actors/persqueue_utils.cpp

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,4 +154,23 @@ void FillIssue(Ydb::Issue::IssueMessage* issue, const Ydb::PersQueue::ErrorCode:
154154
issue->set_issue_code(errorCode);
155155
}
156156

157+
Ydb::PersQueue::ErrorCode::ErrorCode ConvertNavigateStatus(NSchemeCache::TSchemeCacheNavigate::EStatus status) {
158+
switch(status) {
159+
case NSchemeCache::TSchemeCacheNavigate::EStatus::Ok:
160+
return Ydb::PersQueue::ErrorCode::OK;
161+
case NSchemeCache::TSchemeCacheNavigate::EStatus::Unknown:
162+
case NSchemeCache::TSchemeCacheNavigate::EStatus::LookupError:
163+
case NSchemeCache::TSchemeCacheNavigate::EStatus::RedirectLookupError:
164+
return Ydb::PersQueue::ErrorCode::ERROR;
165+
case NSchemeCache::TSchemeCacheNavigate::EStatus::RootUnknown:
166+
case NSchemeCache::TSchemeCacheNavigate::EStatus::PathErrorUnknown:
167+
case NSchemeCache::TSchemeCacheNavigate::EStatus::PathNotTable:
168+
case NSchemeCache::TSchemeCacheNavigate::EStatus::PathNotPath:
169+
case NSchemeCache::TSchemeCacheNavigate::EStatus::TableCreationNotComplete:
170+
return Ydb::PersQueue::ErrorCode::UNKNOWN_TOPIC;
171+
case NSchemeCache::TSchemeCacheNavigate::EStatus::AccessDenied:
172+
return Ydb::PersQueue::ErrorCode::ACCESS_DENIED;
173+
}
174+
}
175+
157176
} // namespace NKikimr::NGRpcProxy::V1

ydb/services/persqueue_v1/actors/persqueue_utils.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,6 @@ static inline TVector<TEvTicketParser::TEvAuthorizeTicket::TEntry> GetTicketPar
9797
return {};
9898
}
9999

100+
Ydb::PersQueue::ErrorCode::ErrorCode ConvertNavigateStatus(NSchemeCache::TSchemeCacheNavigate::EStatus status);
101+
100102
} //namespace NKikimr::NGRpcProxy::V1

ydb/services/persqueue_v1/actors/read_init_auth_actor.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,9 @@ void TReadInitAndAuthActor::HandleClientSchemeCacheResponse(
231231
auto path = "/" + JoinPath(entry.Path); // ToDo [migration] - through converter ?
232232
if (navigate->ErrorCount > 0) {
233233
const NSchemeCache::TSchemeCacheNavigate::EStatus status = navigate->ResultSet.front().Status;
234-
CloseSession(TStringBuilder() << "Failed to read ACL for '" << path << "' Scheme cache error : " << status, PersQueue::ErrorCode::UNKNOWN_TOPIC, ctx);
234+
PersQueue::ErrorCode::ErrorCode errorCode = ConvertNavigateStatus(status);
235+
236+
CloseSession(TStringBuilder() << "Failed to read ACL for '" << path << "' Scheme cache error : " << status, errorCode, ctx);
235237
return;
236238
}
237239

0 commit comments

Comments
 (0)