@@ -178,8 +178,15 @@ class TCleanupTablesActor : public TSchemeActorBase<TCleanupTablesActor> {
178
178
179
179
TablePathsToCheck.clear ();
180
180
for (const auto & result : results) {
181
- const TString& path = CanonizePath (result.Path );
182
- LOG_D (" Describe table " << path << " status " << result.Status );
181
+ const TString& fullPath = CanonizePath (result.Path );
182
+ LOG_D (" Describe table " << fullPath << " status " << result.Status );
183
+
184
+ std::pair<TString, TString> pathPair;
185
+ if (TString error; !TrySplitPathByDb (fullPath, AppData ()->TenantName , pathPair, error)) {
186
+ TablesExists = false ;
187
+ AddError (TStringBuilder () << " Failed to describe table path " << fullPath << " , " << error);
188
+ continue ;
189
+ }
183
190
184
191
switch (result.Status ) {
185
192
case EStatus::Unknown:
@@ -188,20 +195,20 @@ class TCleanupTablesActor : public TSchemeActorBase<TCleanupTablesActor> {
188
195
case EStatus::AccessDenied:
189
196
case EStatus::RedirectLookupError:
190
197
TablesExists = false ;
191
- AddError (TStringBuilder () << " Failed to describe table path " << path << " , " << result.Status );
198
+ AddError (TStringBuilder () << " Failed to describe table path " << fullPath << " , " << result.Status );
192
199
break ;
193
200
case EStatus::LookupError:
194
- RetryPathCheck (result. Path , result.Status );
201
+ RetryPathCheck (pathPair. second , result.Status );
195
202
break ;
196
203
case EStatus::RootUnknown:
197
204
case EStatus::PathErrorUnknown:
198
205
case EStatus::TableCreationNotComplete:
199
206
TablesExists = false ;
200
207
break ;
201
208
case EStatus::Ok:
202
- LOG_D (" Start cleanup for table " << path );
209
+ LOG_D (" Start cleanup for table " << fullPath );
203
210
CleanupQueriesInFlight++;
204
- Register (new TCleanupTablesRetryQuery (SelfId (), path ));
211
+ Register (new TCleanupTablesRetryQuery (SelfId (), fullPath ));
205
212
break ;
206
213
}
207
214
}
@@ -251,14 +258,14 @@ class TCleanupTablesActor : public TSchemeActorBase<TCleanupTablesActor> {
251
258
}
252
259
253
260
private:
254
- void RetryPathCheck (const TVector< TString> & path, EStatus status) {
255
- if (TablePathsToCheck.empty () && !ScheduleRetry (TStringBuilder () << " Retry " << status << " for table " << CanonizePath ( path) )) {
261
+ void RetryPathCheck (const TString& path, EStatus status) {
262
+ if (TablePathsToCheck.empty () && !ScheduleRetry (TStringBuilder () << " Retry " << status << " for table " << path)) {
256
263
TablesExists = false ;
257
- AddError (TStringBuilder () << " Retry limit exceeded for table " << CanonizePath ( path) << " , " << status);
264
+ AddError (TStringBuilder () << " Retry limit exceeded for table " << path << " , " << status);
258
265
return ;
259
266
}
260
267
261
- TablePathsToCheck.emplace_back (path);
268
+ TablePathsToCheck.emplace_back (SplitPath ( path) );
262
269
}
263
270
264
271
template <typename TMessage>
0 commit comments