1.1 KiB
1.1 KiB
2026-04-26 — NamespaceManager rewrite, step 3
Цель шага
Срезать еще один слой прямых чтений DefaultNSResolver().FissionResourceNS в runtime code path.
Почему это отдельный шаг
После step 1 snapshot API уже существует, но runtime loops в executor и storagesvc все еще читают общую mutable map напрямую. Это не архитектурный rewrite, а чистый safety refactor:
container.AdoptExistingResources()newdeploy.AdoptExistingResources()newdeploy.doIdleObjectReaper()poolmgr.AdoptExistingResources()poolmgr.doIdleObjectReaper()storagesvc.ArchivePruner.getOrphanArchives()
Что меняем
В этих местах цикл переводится на DefaultNSResolver().Snapshot().
Что НЕ меняем
- не меняем семантику cleanup;
- не меняем behavior watcher-ов;
- не добавляем remove semantics;
- не исправляем router race и buildermgr dedup на этом шаге.