Skip to content

Commit 11640a8

Browse files
committed
schemeshard: fix SyncTenant handling for dropped extsubdomains (#22360)
1 parent f2e3252 commit 11640a8

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

ydb/core/tx/schemeshard/schemeshard_impl.cpp

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5773,6 +5773,17 @@ void TSchemeShard::Handle(TEvSchemeShard::TEvSyncTenantSchemeShard::TPtr& ev, co
57735773
return;
57745774
}
57755775

5776+
if (PathsById.at(pathId)->Dropped()) {
5777+
// This could happen when root schemeshard reboots just after marking subdomain's path as dropped
5778+
// but before being able to begin subdomain cleanup. Then, if tenant schemeshard tablet is still alive,
5779+
// it will detect disconnect error in pipe-to-parent, re-establish connection and send TEvSyncTenantSchemeShard.
5780+
// Root schemeshard should ignore it and should not register dropped subdomain in subdomain links again.
5781+
LOG_WARN_S(ctx, NKikimrServices::FLAT_TX_SCHEMESHARD, "Handle TEvSyncTenantSchemeShard, at schemeshard: " << TabletID()
5782+
<< ", ignore spurious message from dropped subdomain's schemeshard (pre cleanup)" << pathId
5783+
);
5784+
return;
5785+
}
5786+
57765787
if (SubDomainsLinks.Sync(ev, ctx)) {
57775788
Execute(CreateTxSyncTenant(pathId), ctx);
57785789
}

0 commit comments

Comments
 (0)