В релизе также удален метод объектного сервиса GetRange, что завершает многоэтапный отказ от него, начавшийся в Node v0.53.0. В SDK RC22 ранее был удален GetRangeHash, и теперь приложениям необходимо использовать параметризованный Get для всех операций с диапазонами.
Теперь поддерживаются ревизии контейнеров, что приводит узел в соответствие с новой семантикой версионирования в SDK RC23 и API NeoFS. Узлы хранения добавляют в сетевую карту конечные точки в формате URI вместо формата multiaddr. Inner ring и узлы хранения по-прежнему принимают multiaddr, но в следующем релизе этот формат будет удален. В интерфейсе командной строки neofs-adm появилась команда fschain netmap для получения текущих и исторических сетевых карт.
Исправления надежности устраняют сбои операций GET для объектов EC, когда отсутствовали все части данных, а также гонку при обработке запросов диапазона частей EC. Policer теперь балансирует данные между локальными шардами, а кэш записи динамически сбрасывает объекты в зависимости от занятого пространства.
Примечания для операторов
- Миграция metabase с версии 10 удалена. Операторам, использующим версии ниже v0.56.0, необходимо сначала обновиться до v0.56.0 или повторно синхронизировать metabase.
- Добавлена metabase v12; миграция выполняется автоматически при запуске, но на больших шардах может занять некоторое время.
- Сетевые карты с узлами версии v0.56.0 и выше могут отличаться от карт в предыдущих версиях из-за преобразования адресов из multiaddr в URI.
NeoFS SDK Go RC23
В SDK Go RC23 протокол NeoFS API 2.27 установлен по умолчанию вместо API 2.26, заданного по умолчанию в RC22. В релиз добавлена поддержка межузлового API ReplicateV2, ревизий контейнеров, версионируемых сетевых карт и атрибутов nonce объектов, необходимых для Node v0.57.0.
Инициализация клиента упрощена благодаря переработанному процессу DialEndpoint. Теперь PrmDial.SetServerURI по умолчанию использует порт 80 для grpc и порт 443 для grpcs, если схема указана без порта. Новые вспомогательные методы обеспечивают независимый от версии доступ к системному атрибуту эпохи истечения срока действия объекта, а пользователи пула могут настраивать размер кэша сессий через InitParameters.SetSessionCacheSize.
Старый API поиска объектов объявлен устаревшим, и ожидается, что в следующем релизе его удалят. Проверки стали строже: атрибуты с нулевым размером отклоняются, а при декодировании проверяется сетевая карта. В релизе также обновлена зависимость gRPC и обеспечено соответствие контрактам NeoFS v0.27.0, как и в обновлениях зависимостей Node v0.57.0.
NeoFS Panel v0.11.0
Самое заметное для пользователей изменение в этой серии релизов: теперь учетные данные S3 можно выпускать через NeoFS Panel. Если сервис authmate настроен с помощью переменной окружения VITE_AUTHMATESRV, пользователи могут создавать совместимые с AWS учетные данные для доступа к S3 прямо на странице своего профиля. Процесс включает выбор шлюза, настройку разрешений и срока действия; полученный блок доступа сохраняется в NeoFS для проверки шлюзом. Функция уже доступна в рабочей версии панели и работает со шлюзом NeoFS S3.
В Panel v0.11.0 пользователи также могут задать начальный EACL при создании контейнера, избавившись от необходимости выполнять отдельную операцию после его создания. Перед продолжением интерфейс проверяет, что необходимые разрешения контейнера подписаны одним токеном.
Исправление совместимости учитывает изменения в реализации NEP-21 кошелька OneGate и обеспечивает работу процессов подписания и аутентификации с обновленными версиями кошелька. Ранее, в версии v0.10.2, в Panel были внесены изменения серверного API: она перешла на обновленную конечную точку аутентификации bearer в REST Gateway.
Полные примечания к релизам каждого компонента доступны по ссылкам ниже:
NeoFS Node v0.57.0
NeoFS SDK Go v1.0.0-rc.23
NeoFS Panel v0.11.0