Release notes
Закрома.Хранение (Zakroma-Storage) v 2.5
Новый функционал
- Добавлена возможности записи не во все, а минимум в одно синхронное зеркало и синхронизация между зеркалами в фоне после восстановления. Это позволяет улучшить толерантность к отказам хранилищ.
- Добавлена новая метрика
zakroma_bucket_limit
- лимиты бакетов. - Добавлена новая метрика
zakroma_background_count
, отображающая количество фоновых задач.
Улучшения
- Добавлен запрет на миграцию данных до завершения сканирования.
- Добавлен механизм readonly volume для хранилища типа ZDS.
- Рефакторинг клиентского когда ZDS и доработка healthcheck механизма.
- Добавлена поддержка опции
target_session_attr
для подключения к Postgres. - Улучшен механизм балансировки нагрузки Закрома.Хранение по узлам ZDS-кластера.
- Оптимизирован модуль работы с шифрованием.
- Исключен кэш перед запросами к БД для основных сущностей, получаемых от core.
- Произведен рефакторинг модуля мониторинга хранилищ.
- Добавлен параметр
connect_timeout
в dsn подключения к БД. - Добавлены состояния Вкл/Выкл профилирования pprof в зависимости от параметра env.
Admin-ui
- Выведено поле ограничения размера рабочей области и бакета.
- Добавлена кнопка для запуска сканирования хранилищ бакета (поиск и восстановление информации о найденных объектах).
- Добавлено отображение статуса сканирования у бакета.
- Добавлено определение и отображение хранилищ недоступных для использования.
Исправления
- Оптимизированы методы сервиса Composer: разделение на точные (без кэша) и быстрые (с кэшем). Это позволяет устранить некоторые проблемы, связанные с обновлением кэша.
- Рефакторинг кода, связанного с работой с s3 ключами, удалены не используемые API методы:
1GET /access-key 2POST /access-key 3POST /access-key/:UserName
- Изменён url для API метода получения secret key
/user/access-key-v2 -> /user/s3-credentials
- Убрана panic при наличии в конфиге одних deprecated ключей. Теперь в таком случае происходит дешифрация данных.
- Исправлена ошибка VolumeNotFound при выполнении миграции.
- Исправлено отправление ошибок в DeadLetter при удалении объекта.
- Исправлена panic пода core при попытке подключиться к ZDS без указанного порта.
- Исправлена обработка path/virtual style при указании порта в URL.
- Исправлена ошибка при выдаче прав суперпользователя.
- Исправлено зависание background задач в некоторых случаях.
- Исправлена проблема потенциального возникновения Deadlock при изменении строк в таблице background_tasks.
Admin-ui
- Исправлено закрытие модального окна создания группы хранения при пересечении путей.
- Исправлены пустые поля “Наименование” и “Описание” после создания роли.
- Исправлено уведомление при получении с сервера ошибки на запрос обновления группы хранения.
- Исправлена долгая обработка запроса /user/users.
- Изменена формулировки сообщений в ЖЦ.
Шардирование
- Устранены случаи отсутствия некоторых полей объектов при передаче между Worker (шардами) в процессе ребалансировки.
Мониторинг
- Добавлена очистка старых данных при каждом обновлении метрик бэкграунд задач для отображение корректных метрик.
Worker
- Исправлены ошибки алгоритма проставления флага broken для объектов и частей объектов.
2.5.1
- Доработан механизм сканирования в части загрузки метаданных и информации о версиях объектов.
- Пользователю с правами workspace-viewer стала недоступна активация object-lock в параметрах бакета.
2.5.2
- Исправлена логика определения доступности хранилища zds на анализ одного из параметра ответов /inner/status
2.5.3
- Исправлена ошибка
SignatureDoesNotMatch
при переходе по сгенерированной ссылке с параметромresponse-content-disposition
. - Добавлено игнорирование ошибки
NoSuchKey
в операцииDeleteObjects
согласно S3 спецификации. - Исправлено зависание задач на удаление объектов из ZDS.
- Исключены излишние логи сервиса
core
ошибок подключения к ZDS, не относящихся к работоспособности системы. - Изменение в
pkg/http
: HTTP-клиент теперь явно обнуляет тела запросов, если они приходят с заголовкомContent-Length: 0
.
2.5.4
- Оптимизирован процесс сканирования файлов с zds.
Примечание
- При обновлении на версию 2.5.4 или более новую с версий старше 2.5.4 может возникнуть проблема с работой read-only S3-хранилищами. В версии 2.5.4 было внесено целенаправленное изменение, нарушающее обратную совместимость для read-only S3-хранилищ. Это было необходимо для реализации новой функциональности — поддержки сканирования всех версий объектов и операций с ними.
ZDS v 1.5
Новый функционал
- В метрики добавлен подсчет количества активных соединений.
- В ответе на запрос /inner/status теперь выводятся данные о версии ZDS.
Улучшения
- Переработан функционал по пингу дисков для агента.
- Переработан механизм обработки ошибок.
- Доработан механизм определения состояния volume (корректная запись при битом диске).
- Предоставлены рекомендации по установке параметра concurrency.
- Переработана логика работы листинга узла при восстановлении.
- Оптимизирован алгоритм получения файла (загрузки) - get/get_file.
- Переработана логика работы list_files.
- Переработан механизм запуска функции восстановления узла (repair node).
Исправления
- Исправлена ошибка при создании директории через s3Browser.
- Исправлена проблема с невозможностью скачать большой файл с zds-all-nodes.
- Исправлена проблема с работой http://{host}:{port}/vacuum в FS.
- Исправлена проблема со скачиванием файлов нулевого размера.
- Исправлена проблема с падением производительности ZDS при включении metrics.
- Исправлена ошибка в методе list_files?path при заполненном параметре path.
- Исправлена проблема с обновлением значения changelog после выхода узла из repair.
- Исправлена проблема с расхождением значений changelog после удаления объектов.
1.5.1
- Добавлена автоматическая очистка устаревших частей файлов при выполнении операции Vacuum
- Доработан механизм автоматической очистки файлов, удалённых во время недоступности узла
- Добавлена информация о состоянии кластера в ручку inner/status
- Переработан механизм чтения: уменьшение сетевой нагрузки за счёт приоритета локальных данных и оптимизированного восстановления
- Исправление ошибки 500 в inner/list_file_names при параллельном удалении файлов
- Исправление ошибки 500 при копировании директории через copy_file в режиме FS
- Ошибка 500 при запросе list_files для несуществующего пути
ZDS v 1.6
Новый функционал
- Встроен алгоритм XXHASH для обеспечения защиты Bit Rot Protection.
- Добавлена новый API-метод для принудительного перевода ноды в статус
Running
(метод:GET /inner/riseup
). - Добавлена возможность установить Расписание для бэкграунд процессов в конфигурации.
Улучшения
- Оптимизирована производительность с мелкими файлами. Реализован новый провайдер хранения FullCopy для оптимизации работы с мелкими файлами (≤256 КБ). Вместо разделения на части файлы теперь сохраняются целиком, что ускоряет операции с небольшими данными.
- Устранена проблема потери файлов при обрыве сети в момент восстановления.
- Доработан механизм скачивания частей файлов при синхронизации changelog.
- Улучшен метод GET /readyz так, чтобы он выдавал 200 только если статус ноды != NOT_CONNECTED, в противном случае - 500.
Исправления
- Исправлена проблема нехватки inodes, при которой вольюм переходит в состояние ERROR, и пользователь получает HTTP/1.1 500 Internal Server Error.
- Изменен код ошибки
NotFound 404
в/inner/delete_file
при повторном удалении файла и при удалении системный файлов.