@@ -140,14 +140,14 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
140140
141141 try {
142142 HandleResponse (ev, requestIter, errorMessage, result);
143- }
144- catch (const std::exception& e) {
143+ } catch (...) {
145144 const TString msg = TStringBuilder () << " error while response processing, params "
146145 << ((requestIter != Requests.end ()) ? requestIter->second .ToDebugString () : TString{" unknown" })
147- << " , details: " << e. what ();
146+ << " , details: " << CurrentExceptionMessage ();
148147 LOG_E (" ResponseProccessor::Handle(TEvHttpIncomingResponse): " << msg);
149148 }
150- LOG_D (" ResponseProcessor::Handle(HttpIncomingResponse): progress: "
149+
150+ LOG_T (" ResponseProcessor::Handle(HttpIncomingResponse): progress: "
151151 << DatabaseId2Description.size () << " of " << Requests.size () << " requests are done" );
152152
153153 if (HandledIds == Requests.size ()) {
@@ -241,15 +241,7 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
241241 const auto & status = ev->Get ()->Response ->Status ;
242242
243243 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 );
253245 }
254246
255247 auto errorMessage = ev->Get ()->Error ;
@@ -265,6 +257,17 @@ class TResponseProcessor : public TActorBootstrapped<TResponseProcessor>
265257 return errorMessage;
266258 }
267259
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+
268271 const TActorId Sender;
269272 TCache& Cache;
270273 const TRequestMap Requests;
0 commit comments