• v1.0.3 373d8a49c1

    v1.0.3
    All checks were successful
    Зеркалирование Khrazhevnik / sync-mirrors (push) Successful in 12s
    Stable

    AlexRus1234 released this 2026-09-13 17:08:32 +00:00 | 0 commits to main since this release

    Исправлено

    • БД (mariadb): транзиентная ошибка 1467 ER_AUTOINC_READ_FAILED
      при гонке bootstrap-пользователя (EnsureFirstUser) больше не
      вылетает наружу — отнесена к retryable-конфликтам InnoDB (1213/1205):
      проигравший писатель повторяет INSERT…SELECT WHERE NOT EXISTS и
      видит строку победителя (RowsAffected=0). Проявлялось как
      периодическое Error 1467 (HY000): Failed to read auto-increment value from storage engine на 20 параллельных EnsureFirstUser
      (контрактный suite; воспроизведено 400-итерационным прогоном,
      исправлено retry).

    • Range-раздача (206/416): прокси и публичный порт личных репо
      (:29202) понимают HTTP Range — одиночный срез 206 с точным
      Content-Range, multipart/byteranges до 256 диапазонов (кап —
      стартовое max_ranges librepo), 416 с Content-Range: bytes */N,
      Accept-Ranges: bytes на 200/206 Range-пути, If-Range (сильный
      ETag или дата Last-Modified), мусорный Range → 200-полный
      (RFC 9110 MAY). Срез byte-exact — инвариант побайтовой раздачи
      расширен на подстроки. Закрывает падение dnf5 за прокси на
      zchunk-метаданных (primary data not present): dnf5/librepo качает
      .zck диапазонами. Порт хранилища получил
      GetRange (fs + s3), движок — FetchMeta/OpenBody/OpenRange
      (resolve без открытия тела, один resolve на клиентский запрос).
      Метрика khrazhevnik_cache_range_responses_total{ecosystem};
      fedora-нога distro-test стала обязательной и проверяет факт 206 после
      dnf install (verify-range).

    Изменено

    • Прокси и :29202: HEAD-запросы с Range отдают заголовки 206/416
      без открытия тела — счётчики байт честны (0 байт тела); единая точка
      Range-семантики — web.serveRanged для прокси и личных репо.
    Downloads