Files
fission-src/doc/thinking/2026-04-26-namespace-manager-step3.md
T

1.1 KiB
Raw Blame History

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 на этом шаге.