fix(backups): читать экспорт RouterOS порциями без потери данных
This commit is contained in:
1 parent
c3fb66dcbf
commit
41a76f1163
12 files changed
+1205
-18
No files matched your search
+12
-2
@@ -1,6 +1,6 @@
|
||||
# UX/UI: журнал реализации
|
||||
|
||||
Актуальное продолжение 2026-10-14: блок230 — исправлена подмена нативного экспорта частичным синтетическим скриптом. Реальные конфигурации обоих CHR выгружены в Selectel S3 и скачаны; ограниченный restore собственного bridge подтверждён RouterOS. Исходные файлы/bridge сохранены, собственные DB/roles/объекты удалены;6 versions+6 delete markers очищены. Live UI1440/390 с real Portal/API принят без изменения storage settings. Backend ux-backup230/frontend ux-routing218. Далее231 — чтение файлов>=61439 байт; S3 retention/смена bucket и расширенная приёмка открыты. Этап12.5 открыт.
|
||||
Актуальное продолжение 2026-10-14: блоки230–231 — реальные native backup обоих CHR в S3 и ограниченный restore собственного bridge приняты, fixture/versions очищены. Частичный synthetic fallback удалён; native exports читаются /file/read порциями<=32768 bytes с общим deadline120s и пределом8 МиБ. HTTP13 (включая70КБ/UTF-8 boundary/partial/change/size cap) и native small exports обоих CHR прошли. Backend ux-backup231/frontend ux-routing218 healthy. Далее232 — live UI сохранение/проверка S3; смена bucket/endpoint, retention и расширенная приёмка открыты. Этап12.5 открыт.
|
||||
|
||||
Общий план: [UX/UI по этапам и пятичасовым окнам](ux-ui-plan.md). План задаёт объём, этот журнал фиксирует выполненные блоки и ограничения. Записи расположены от новых к старым; подробная история этапа12 также сохранена в [ux-ui-stage-12.md](ux-ui-stage-12.md).
|
||||
|
||||
@@ -36,7 +36,17 @@
|
||||
| 10 | Маршрутизация, диагностика, карта и терминал | Завершён в границах локальной приёмки 2026-10-01; блоки 10.1–10.71, внешние ограничения в 10.71 |
|
||||
| 11А | Пользователи, контейнеры, сертификаты и резервные копии | Завершён в границах локальной приёмки 2026-10-01; 11А.1–11А.33, внешние ограничения в 11А.33 |
|
||||
| 11Б | Оповещения, сбор данных, интеграции, релизы и настройки | Завершён в границах локальной приёмки 2026-10-03; ограничения и evidence в11Б.7 |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка12.3.83 в границах журнала. Внешняя12.5: блоки1–230 завершены в записанных scopes, этап открыт. Runtime backend ux-backup230/frontend ux-routing218; backend25/UI52 и дополнительные SQL/UDP222 прошли. |
|
||||
| 12 | Итоговая доступность, адаптивность, производительность и регрессия | Локальная приёмка12.3.83 в границах журнала. Внешняя12.5: блоки1–231 завершены в записанных scopes, этап открыт. Runtime backend ux-backup231/frontend ux-routing218; backend25/UI52 и дополнительные SQL/UDP222 прошли. |
|
||||
|
||||
## 12.5.231 — чтение нативного экспорта порциями и контроль целостности (2026-10-14)
|
||||
|
||||
Для native exports введён единый /file/read file/offset/chunk-size, максимум32768 bytes в порции. Байт-offset не зависит от количества символов. Существующий raw-byte parser получил отдельное поле data; части объединяются до UTF-8 decode. Нестроковое/отсутствующее data, неполная порция, изменившийся ID/name/size/timestamp приводят к ошибке. Общий deadline120s, request timeout<=30s, максимум8 МиБ; cleanup из230 сохраняется. Существующий binary/certificate downloadFile не меняет лимит /file/get.
|
||||
|
||||
13 HTTP export-сценариев passed: исходные8,70КБ теперь успешно читается, short/missing/change отклонены, UTF-8 разрезан между байтами символа на32768 и восстановлен точно,>8 МиБ отклонён до чтения. test:backups и test:ros-file passed; contracts/backend build и scoped ESLint passed. Это13 unique exporter cases, не сумма повторных запусков.
|
||||
|
||||
Production image ux-backup231:500 исходников/1060 compiled outputs совпали; отдельный контейнер выполнил native /export file→/file/read→cleanup на обоих CHR (917/782 bytes), SHA256 и точный files baseline readback подтверждены. Реальные конфигурации небольшие: большой native экспорт не получен,70КБ принят HTTP fixture. [Native](ux-ui/acceptance/native-export231.json), [deploy](ux-ui/acceptance/backup231-deployment.json). Main backend healthy/image ID matched, frontend ux-routing218 сохранён; rollback image230 оставлен. Приватный CHR env удалён локально/на Debian, пароли не менялись.
|
||||
|
||||
S3 uploads/restore230 и live UI230 повторно не запускались; семантика restore не менялась. Metadata before/after не является атомарной блокировкой файла от внешнего writer. [Документация file/read](https://help.mikrotik.com/docs/spaces/ROS/pages/2555971/Files). Далее232 — live UI save/test S3 с возвратом исходных storage settings, затем адресация backup при смене bucket/endpoint и version retention. Этап12.5 открыт.
|
||||
|
||||
## 12.5.230 — нативные резервные копии CHR в S3 и ограниченное восстановление (2026-10-14)
|
||||
|
||||
|
||||
Reference in new issue
Block a user