@@ -73,7 +73,7 @@ class TKesusProxyService : public TActor<TKesusProxyService> {
73
73
}
74
74
75
75
private:
76
- IActor* CreateResolveActor (const TString& kesusPath);
76
+ IActor* CreateResolveActor (const TString& database, const TString& kesusPath);
77
77
78
78
void Handle (TEvKesusProxy::TEvResolveKesusProxy::TPtr& ev) {
79
79
const auto * msg = ev->Get ();
@@ -103,7 +103,7 @@ class TKesusProxyService : public TActor<TKesusProxyService> {
103
103
// Recheck schemecache for changes
104
104
LOG_TRACE_S (ctx, NKikimrServices::KESUS_PROXY,
105
105
" Starting resolve for kesus " << msg->KesusPath .Quote ());
106
- RegisterWithSameMailbox (CreateResolveActor (msg->KesusPath ));
106
+ RegisterWithSameMailbox (CreateResolveActor (msg->Database , msg-> KesusPath ));
107
107
entry.State = CACHE_STATE_RESOLVING;
108
108
[[fallthrough]];
109
109
@@ -220,21 +220,25 @@ class TKesusProxyService : public TActor<TKesusProxyService> {
220
220
class TKesusProxyService ::TResolveActor : public TActorBootstrapped<TResolveActor> {
221
221
private:
222
222
const TActorId Owner;
223
+ const TString Database;
223
224
const TString KesusPath;
224
225
225
226
public:
226
- TResolveActor (const TActorId& owner, const TString& kesusPath)
227
+ TResolveActor (const TActorId& owner, const TString& database, const TString& kesusPath)
227
228
: Owner(owner)
229
+ , Database(CanonizePath(database))
228
230
, KesusPath(kesusPath)
229
231
{}
230
232
231
233
void Bootstrap (const TActorContext& ctx) {
232
234
LOG_TRACE_S (ctx, NKikimrServices::KESUS_PROXY,
233
235
" Sending resolve request to SchemeCache: " << KesusPath.Quote ());
234
- auto request = MakeHolder<NSchemeCache::TSchemeCacheNavigate>();
236
+ auto request = MakeHolder<TSchemeCacheNavigate>();
237
+ request->DatabaseName = Database;
238
+
235
239
auto & entry = request->ResultSet .emplace_back ();
236
240
entry.Path = SplitPath (KesusPath);
237
- entry.Operation = NSchemeCache:: TSchemeCacheNavigate::OpPath;
241
+ entry.Operation = TSchemeCacheNavigate::OpPath;
238
242
Send (MakeSchemeCacheID (), new TEvTxProxySchemeCache::TEvNavigateKeySet (request.Release ()));
239
243
Become (&TThis::StateWork);
240
244
}
@@ -262,8 +266,8 @@ class TKesusProxyService::TResolveActor : public TActorBootstrapped<TResolveActo
262
266
}
263
267
};
264
268
265
- IActor* TKesusProxyService::CreateResolveActor (const TString& kesusPath) {
266
- return new TResolveActor (SelfId (), kesusPath);
269
+ IActor* TKesusProxyService::CreateResolveActor (const TString& database, const TString& kesusPath) {
270
+ return new TResolveActor (SelfId (), database, kesusPath);
267
271
}
268
272
269
273
TActorId MakeKesusProxyServiceId () {
0 commit comments