Release notes

Закрома.Хранение (Zakroma-Storage) v 2.4

Новый функционал 

ZCLI 

  • Добавлено поле репликации в команду создания workspace через zcli
  • В zcli реализована возможность создания групп хранения

Шардирование 

  • Добавлен механизм миграций блокировок (retention period, retention mode и legal hold) при ребалансировке объектов в бакете.
  • Добавлен вывод процента выполнения ребалансировки на вкладке “Шардирование”
  • Реализован механизм завершения waitgroup на другом шарде

Мультикластер

  • Внедрён outbox для сообщений CDN в мультикластере
  • Реализована репликация политик доступа в мультикластерном режиме

Улучшения

  • Улучшена инициализация storage: значения env теперь устанавливаются из конфига.
  • Добавлено игнорирование символа ”/” в query-параметрах запросов.
  • Поле creationDate добавлено в модель API workspaces

Gateway

  • Удалён механизм проверки контрольных сумм на gateway.

Admin-ui

  • Проведён рефакторинг статусов volume в admin-ui
  • В admin-ui добавлено отображение сообщений с бэкенда в подсказках.
  • В admin-ui добавлено отображение признака блокировки пользователя.
  • Роль “Administrator” переименована на “Superuser” на странице просмотра пользователя.
  • Обновлён текст в модальных окнах удаления ролей.
  • Добавлены подсказки на странице создания и редактирования ролей.
  • Добавлены уведомления об ошибках при получении данных о шардировании в admin-ui.

Исправления

  • Исправлена ошибка “out of memory” при загрузке файлов размером 1 ГБ.
  • Исправлена ошибка в теге CopyObjectResult метода CopyObject, приводящая к ошибке взаимодействия со Spark

Admin-ui

  • Исправлено отображение групп хранения при миграции.
  • Исправлено отображение уведомлений об удалении пользователей на вкладке bucket.
  • Устранено некорректное отображение модального окна при удалении пользователей из группы.
  • Исправлено отображение уведомлений об успешной генерации ключа доступа при ошибках.
  • Устранена проблема с отображением надписи о начале решардинга после его завершения.
  • Устранено некорректное сообщение при удалении bucket в workspace.

Шардирование 

  • Исправлено отображение процента выполнения ребалансировки при значениях > 10.
  • Устранена проблема с пустым полем metadata после ребалансировки
  • Устранены нежелательные артефакты или незавершённые задачи после завершения ребалансировки
  • Исправлена обработка нулевой даты в запросе /subsets/apply.
  • Устранена зависание процесса ребалансировки.

Gateway

  • Исправлена ошибка 403 у Superuser на gateway.

Мультикластер

  • Исправлена ошибка, из-за которой SetBucketVersioning не включал версионирование.
  • Исправлена ошибка Internal Error при удалении bucket.
  • Исправлена репликация тегов объекта в мультикластерном режиме.
  • Исправлена ошибка при скачивании объектов из CDN volume.
  • Исправлено отображение уведомлений об удалении пользователей на вкладке bucket.
  • Устранена ошибка отображения id вместо groupName при репликации доступов.
  • Исправлена проблема с репликацией expirationTime для временных ключей доступа.
  • Исправлено ошибка скачивания объекта из другого мультикластера.

Worker

  • Устранена утечка горутин в pool.janitor.go.

2.4.1

  • В ответе на CopyObject API был исправлен некорректный XML-тег.

2.4.2

  • Исправлена логика проверки условия If-None-Match при обработке операции CompleteUpload.
  • Добавлена возможность отображения значения в поле “Хранилище по умолчанию” пользователю с ролью viewer.

2.4.3

  • Уникальность логинов Добавлено ограничение на уникальность поля user_name в таблице пользователей. Обновление синхронизации с Keycloak Теперь данные пользователей обновляются по их user_name. Если пользователь отсутствует в Keycloak, его учётная запись автоматически блокируется на стороне Закрома.Хранение. Контроль дубликатов Добавлен механизм обнаружения дубликатов пользователей. При обнаружении дублей в систему логирования записывается сообщение с уровнем error.
  • Исправлена обработка ошибок после вызовов метода GetRoleDetailById
  • Отключена нормализация URL в проксируемых запросах c Gateway
  • Добавлена опция для переключения стратегии поиска пользователей в keycloak с ролей на группы. (!) Требует изменения конфигов.

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 для несуществующего пути
Смотрите также
Архитектура решения