@@ -140,14 +140,14 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
140
140
141
141
try {
142
142
HandleResponse (ev, requestIter, errorMessage, result);
143
- }
144
- catch (const std::exception & e) {
143
+ } catch (...) {
145
144
const TString msg = TStringBuilder () << " error while response processing, params "
146
145
<< ((requestIter != Requests.end ()) ? requestIter->second .ToDebugString () : TString{" unknown" })
147
- << " , details: " << e. what ();
146
+ << " , details: " << CurrentExceptionMessage ();
148
147
LOG_E (" ResponseProccessor::Handle(TEvHttpIncomingResponse): " << msg);
149
148
}
150
- LOG_D (" ResponseProcessor::Handle(HttpIncomingResponse): progress: "
149
+
150
+ LOG_T (" ResponseProcessor::Handle(HttpIncomingResponse): progress: "
151
151
<< DatabaseId2Description.size () << " of " << Requests.size () << " requests are done" );
152
152
153
153
if (HandledIds == Requests.size ()) {
@@ -241,15 +241,7 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
241
241
const auto & status = ev->Get ()->Response ->Status ;
242
242
243
243
if (status == " 403" ) {
244
- const auto second = requestIter->second ;
245
-
246
- auto result = TStringBuilder () << " You have no permission to resolve database id into database endpoint. " ;
247
- if (second.DatabaseType == EDatabaseType::ClickHouse || second.DatabaseType == EDatabaseType::PostgreSQL) {
248
- auto mdbTypeStr = NYql::DatabaseTypeLowercase (second.DatabaseType );
249
- result << " Please check that your service account has role " <<
250
- " `managed-" << mdbTypeStr << " .viewer`." ;
251
- }
252
- return result;
244
+ return TStringBuilder () << " You have no permission to resolve database id into database endpoint. " + DetailedPermissionsError (requestIter->second );
253
245
}
254
246
255
247
auto errorMessage = ev->Get ()->Error ;
@@ -265,6 +257,17 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
265
257
return errorMessage;
266
258
}
267
259
260
+
261
+ TString DetailedPermissionsError (const TResolveParams& params) const {
262
+
263
+ if (params.DatabaseType == EDatabaseType::ClickHouse || params.DatabaseType == EDatabaseType::PostgreSQL) {
264
+ auto mdbTypeStr = NYql::DatabaseTypeLowercase (params.DatabaseType );
265
+ return TStringBuilder () << " Please check that your service account has role " <<
266
+ " `managed-" << mdbTypeStr << " .viewer`." ;
267
+ }
268
+ return " " ;
269
+ }
270
+
268
271
const TActorId Sender;
269
272
TCache& Cache;
270
273
const TRequestMap Requests;
0 commit comments