feat: atomically switch active search index alias #16

Merged
admin merged 4 commits from feature/opensearch-alias-switch into main 2026-08-21 03:06:46 +00:00
Owner

Выполняет этап 1 roadmap: после успешной загрузки новой версии индекса атомарно переключает alias через OpenSearch _aliases API. Добавлены checkpoint-валидация, тесты, документация и обновление версии до 0.6.0.

Выполняет этап 1 roadmap: после успешной загрузки новой версии индекса атомарно переключает alias через OpenSearch _aliases API. Добавлены checkpoint-валидация, тесты, документация и обновление версии до 0.6.0.
agent added 1 commit 2026-08-20 21:12:50 +00:00
Author
Owner

Независимый review: есть blocking finding. Checkpoint не фиксирует запрошенный --alias. После сбоя загрузки/переключения тот же checkpoint можно возобновить без --alias (будет помечен complete, но активный alias останется прежним) или с другим alias (переключится не тот alias). Сохраните alias в checkpoint и при --resume требуйте точного совпадения; добавьте тесты на отсутствие/смену alias при resume. Остальное проверено: _aliases вызывается после всех Bulk и до complete, операции атомарны и повторяемы; целевой тест проходит.

Независимый review: есть blocking finding. Checkpoint не фиксирует запрошенный `--alias`. После сбоя загрузки/переключения тот же checkpoint можно возобновить без `--alias` (будет помечен complete, но активный alias останется прежним) или с другим alias (переключится не тот alias). Сохраните alias в checkpoint и при `--resume` требуйте точного совпадения; добавьте тесты на отсутствие/смену alias при resume. Остальное проверено: `_aliases` вызывается после всех Bulk и до `complete`, операции атомарны и повторяемы; целевой тест проходит.
agent added 1 commit 2026-08-20 21:15:33 +00:00
Author
Owner

Повторный независимый review: прежний blocker закрыт — alias записывается в checkpoint v2 и строго сравнивается при resume; alias-switch остаётся до complete; полный набор backend-тестов проходит (15/15). Новые blocking findings: (1) это новая обратносуместимая CLI-возможность, поэтому по правилам versioning нужна minor-версия 0.6.0, а не patch 0.5.3; обновите код и все версии в документации. (2) --alias "" проходит load_bulk, записывается в checkpoint, но из-за if alias: переключение молча пропускается и checkpoint становится complete. Отклоняйте пустой alias до создания checkpoint (и добавьте короткий тест). Дополнительно: schema v1 checkpoints теперь без миграции не возобновляются — сохраните совместимость для прежнего alias=None сценария либо явно зафиксируйте это как операционно несовместимое изменение.

Повторный независимый review: прежний blocker закрыт — `alias` записывается в checkpoint v2 и строго сравнивается при resume; alias-switch остаётся до `complete`; полный набор backend-тестов проходит (15/15). Новые blocking findings: (1) это новая обратносуместимая CLI-возможность, поэтому по правилам versioning нужна minor-версия 0.6.0, а не patch 0.5.3; обновите код и все версии в документации. (2) `--alias ""` проходит `load_bulk`, записывается в checkpoint, но из-за `if alias:` переключение молча пропускается и checkpoint становится complete. Отклоняйте пустой alias до создания checkpoint (и добавьте короткий тест). Дополнительно: schema v1 checkpoints теперь без миграции не возобновляются — сохраните совместимость для прежнего `alias=None` сценария либо явно зафиксируйте это как операционно несовместимое изменение.
agent added 1 commit 2026-08-20 21:18:36 +00:00
Author
Owner

Финальный независимый review: предыдущие findings исправлены. Версия согласованно поднята до 0.6.0; пустой alias отклоняется до checkpoint; legacy checkpoint v1 безопасно продолжается только без alias и обновляется в v2; при resume alias строго проверяется, а switch остаётся до complete. Полный backend suite проходит: 15/15. Blocking findings отсутствуют, PR готов к merge. Неблокирующее замечание: в описании PR всё ещё упомянута 0.5.3, хотя фактическая версия 0.6.0.

Финальный независимый review: предыдущие findings исправлены. Версия согласованно поднята до 0.6.0; пустой alias отклоняется до checkpoint; legacy checkpoint v1 безопасно продолжается только без alias и обновляется в v2; при resume alias строго проверяется, а switch остаётся до `complete`. Полный backend suite проходит: 15/15. Blocking findings отсутствуют, PR готов к merge. Неблокирующее замечание: в описании PR всё ещё упомянута 0.5.3, хотя фактическая версия 0.6.0.
agent added 1 commit 2026-08-20 21:19:45 +00:00
Author
Owner

Финальный review после changelog-коммита: CHANGELOG корректно и в существующем формате фиксирует безопасное переключение alias и защиту resume. Изменений кода после предыдущего одобрения нет. Полный backend suite повторно пройден независимо: 15/15. Blocking findings отсутствуют; PR готов к merge.

Финальный review после changelog-коммита: CHANGELOG корректно и в существующем формате фиксирует безопасное переключение alias и защиту resume. Изменений кода после предыдущего одобрения нет. Полный backend suite повторно пройден независимо: 15/15. Blocking findings отсутствуют; PR готов к merge.
admin merged commit 8f47dbb4f0 into main 2026-08-21 03:06:46 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: agent/akyldash#16