28 lines
1.1 KiB
Markdown
28 lines
1.1 KiB
Markdown
# 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 на этом шаге. |