Record retry recovery status and full regression results

This commit is contained in:
evgeny committed 2026-10-24 09:48:19 +02:00
1 parent 14515ca446
commit f1f4976222
2 files changed
+21 -4

No files matched your search

+4 -2
View File
@@ -3,7 +3,7 @@ ETCP: независимая обратная связь каналов и до
Статус
24.10.2026: уточнено и реализовано правило ретрансми́та. При наличии другого
24.10.2026: уточнено и реализовано правило ретрансмита. При наличии другого
initialized+UP канала повтор ждёт его cwnd/pacing, даже если прежний уже готов.
Без таких альтернатив разрешён прежний канал; DOWN последней альтернативы
пробуждает sender. ACK/control/burst-FILLER проходят во время ожидания DATA.
@@ -33,6 +33,8 @@ initialized+UP канала повтор ждёт его cwnd/pacing, даже
попыток/таймеров, ACK и burst во время ожидания, освобождение альтернативы,
DOWN/удаление последней альтернативы, неинициализированный линк и поздний ACK.
Восемь профильных тестов ASAN/UBSan с detect_leaks=1 проходят без ошибок/утечек.
Полный check.sh после исправления:184/184, proxy9/9, burst1/1, load8/8 PASS,
134217728 проверенных байт,161с; /tmp/etcp-retry-alternative-full-check.log.
Штатные профили отказов 8dd03c2b:7 из9 проходят прежние пороги. DROP/HOLD под
нагрузкой проходят каждый3/3: паузы43.172/44.755/43.493мс и40.965/39.796/44.982мс,
@@ -58,7 +60,7 @@ latency380.177мс. Это4 нарушения порогов; доставка/
уже не оставляет запаса на отправку и обработку. Эти ограничения требуют отдельного
проверенного правила срока/бюджета ранних копий; оно здесь не реализовано.
Состояние после исправления pacer, до уточнения правила ретрансми́та:
Состояние после исправления pacer, до уточнения правила ретрансмита:
Исправление pacer реализовано: таймер назначается на первый TB, разрешающий отправку,
а не на полное погашение долга. Кредит и допустимый положительный долг по-прежнему
+17 -2
View File
@@ -4,8 +4,23 @@
## Текущие задачи
[ ] **ETCP: полезная утилизация нескольких каналов и доставка при зависании части линков** — pacing исправлен, общая задача открыта.
24.10.2026: таймер pacer ждёт первого разрешённого TB, а не погашения всего долга;
[ ] **ETCP: полезная утилизация нескольких каналов и доставка при зависании части линков** — общая задача открыта.
24.10.2026: повтор ждёт другого initialized+UP канала, даже когда прежний уже готов.
При отсутствии таких альтернатив разрешён прежний; DOWN последней альтернативы будит sender.
Новых состояний/ресурсов/таймеров нет. ACK/control и burst-FILLER не блокируются ожиданием DATA.
Регрессия до исправления воспроизводит возврат на прежний путь; после — windows44 сценария
с управляемыми/реальными часами PASS, восемь ASAN/UBSan-тестов без ошибок/утечек.
Полный check.sh184/184, proxy9/9, burst1/1, load8/8 PASS,134217728 проверенных байт,161с.
Профили отказов:7/9 PASS. load-drop/load-hold проходят каждый3/3, паузы39.796..44.982мс,
steady goodput7.189..7.476 из8Мбит/с оставшегося канала. Пороги сохранены.
Slow-drop остаётся FAIL: пауза238.569мс, latency264.727мс; two-stuck219.338/380.177мс.
В них4 нарушения порогов; доставка/порядок/ресурсы проходят. Полная скоростная матрица не повторялась.
Трейс показал ожидание первого RTO на медленном пути и повторный выбор прежнего пути под нагрузкой;
ожидание в хвосте send_q в этих опытах не объясняет основную паузу (максимум2.6/3.5мс).
Следующий отдельный шаг по отказам — ограниченные ранние копии до RTO с сохранением старого flight;
срок/бюджет и цену дубликатов на исправных каналах нужно проверить до переноса. Дуплекс остаётся отдельным.
Логи: /tmp/etcp-retry-alternative-*.log/.csv; диагностический observer — /tmp/etcp-recovery-probe.c/.mk.
Предыдущий контроль после исправления pacer: таймер ждёт первого разрешённого TB, а не погашения всего долга;
кредит1мс, BBR/cwnd/min_rtt, RTO и wire-формат сохранены. Нового состояния и ресурсов нет.
До исправления регрессия получает10TB вместо1TB; после него18 сочетаний долга/дроби проходят.
Проверены INT_MAX, ранний/поздний callback, ограниченный burst, OOM повторного таймера,