Release notes

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

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

  • Реализован функционал импорта пользователей напрямую из LDAP.
  • Реализован функционал версионирования вольюмов: позволяет работать с различными структурами данных на подключенных хранилищах.
  • Admin UI: Реализованы дополнительные возможности работы с объектами бакета для администратора, такие как загрузка и удаление объекта.
  • Admin UI: Реализован поиск бакета по имени в списке.
  • Экспериментальная функция: механизм скачивания еще не отсканированных объектов в историческом вольюме.
  • Добавлена метрика background tasks / sec, отражающая текущее количество бэкграунд задач, выполняемых за секунду.
  • Реализован функционал параллельное сканирование исторических данных.

Улучшения

  • Исключён файл временной лицензии из дистрибутива,  для возможности передачи дистрибутива с индивидуальной лицензией.
  • Реализация шифрования параметров volume.
  • Реализован функционал установки ошибки в заголовок при head запросе.
  • В cdn реализован обмен данными при обновлении Quota для бакета и workspace.
  • Реализован логирующий ридер, который теперь используется на всех операциях скачивания объекта.
  • Реализована обработка специальных символов в ключе объекта. Список проблемных специальных символов: ”!”, ““”, “№”, “$”, “%”, “&”, “\’”, “(”, “)”, “”, “+”, “,”, ””, “.”, “/”, “:”, “;”, “<”, “=”, “?”, “@”, “<”, “\”, “>”, “^”, “_”, “{”, “|”, “}”, “~”, ” “.

Gateway

  • Изменена схема процесса наложения mutex.
  • Добавлена возможность определения ExposeHeaders для дефолтных правил CORS через файл конфигурации.

ZCLI

  • Добавлен функционал получения, добавления и обновления политик доступа бакета и рабочей области.
  • Адаптация команд с учетом появления версионирования волюмов.
  • Добавлен префикс объектов для волюмов типа Historical.

Исправления

  • Исправлен механизм подсчета Etag для multipart объектов.
  • Добавлено правильное взаимодействие с DeleteMarker. Теперь в версионируемом бакете при вызове метода s3/CopyObject для объекта, последней версией которого является DeleteMarker, система вернёт 404 код ошибки.
  • Исправлена проблема с падением background задач при указании несуществующей схемы для worker.
  • Исправлена проблема репликации поля количества объектов и metadata при создании объекта
  • Исправлена работоспособность query параметра ResponseContentDisposition.

Gateway

  • Добавлен контроль пермиссии для операции добавления тегов бакета.
  • Исправлена ошибка синхронизации пользователей при одинаковом username в keycloak.
  • Из таблицы users убрана колонка external_id и ограничение уникальности по ней.

ZDS

  • Добавлен синхронный вызов проверки работоспособности node при создании zds клиента.
  • Добавлена проверка на наличие сегмента “…” в префиксе.

Worker

  • Механизм переотправки задач в kafka перестроен на принятие решения на scheduled_at.

Admin-ui

  • Изменено отображение статуса удаления у voluma, хранилище которого недоступно.
  • Изменено отображение сгенерированного пути в хранилище, если в бакете нет хранилища по умолчанию.
  • Исправлена проблема, при которой отмена выбора пользователей/групп не восстанавливала предыдущее значение.
  • Для пользователей с ролью workspace/bucket-viewer теперь корректно блокируются ползунки управления в соответствующих разделах интерфейса.
  • При просмотре правил все поля ресурса (для workspace, и для bucket) теперь доступны для редактирования.

ZCLI

  • Добавлено отсутствующее поле quota в модели workspace.
  • Добавлено отсутствующее поле corrupted в модели storage.
  • Добавлена возможность добавить path при создании хранилища и валидация на минимум 3 символа.
  • Добавлено отсутствующее поле scanningInProgress в модели bucket.
  • Добавлено отсутствующее поле deletedAt в модели bucket.

Примечание

Обратная совместимость

При обновлении на версию 2.5.4 и старше может возникнуть проблема с работой read-only S3-хранилищами. В версии 2.5.4 было внесено целенаправленное изменение, нарушающее обратную совместимость для read-only S3-хранилищ. Это была вынужденная мера для реализации новой функциональности — поддержки сканирования всех версий объектов и операций с ними.

ZDS v 1.6

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

  • Встроен алгоритм XXHASH для обеспечения защиты Bit Rot Protection.
  • Добавлена новый API-метод для принудительного перевода ноды в статус Running (метод: GET /inner/riseup).
  • Добавлена возможность установить Расписание для бэкграунд процессов в конфигурации.

Улучшения 

  • Оптимизирована производительность с маленькими файлами до 256 КБ. Реализован новый провайдер хранения FullCopy для оптимизации работы с мелкими файлами (≤256 КБ). Вместо разделения на части файлы теперь сохраняются целиком, что ускоряет операции с небольшими данными.
  • Устранена проблема потери файлов при обрыве сети в момент восстановления.
  • Доработан механизм скачивания частей файлов при синхронизации changelog.
  • Улучшен метод GET /readyz так, чтобы он выдавал 200 только если статус ноды != NOT_CONNECTED, в противном случае - 500.

Исправления 

  • Исправлена проблема нехватки inodes, при которой volume переходит в состояние ERROR, и пользователь получает HTTP/1.1 500 Internal Server Error.
  • Изменен код ошибки NotFound 404 в /inner/delete_file при повторном удалении файла и при удалении системный файлов.

1.6.1

  • Реализована обработка ошибок при удалении файлов в FS-режиме

1.6.2

  • Добавлено кэширование списка файлов для для более быстрого чтения “плоских” директорий.
  • Исправлен проблема перехода в повторяющийся repair, если при восстановлении volume были удалены пустые директории.
  • Исправлено применение listing.batchSize значения в методе /list_files?path=/ для ЕС и FS.
  • Исправлена проблема, при которой запрос на получение списка файлов GET /inner/list_file_names возвращал пустой результат при отсутствии в конфигурации параметра listing.batchSize.
  • Добавлена возможность тонкой настройки сетевых интерфейсов для серверов. В конфигурации теперь можно указать конкретный (host) для прослушивания в разделах server и clusterServer.
  • Исправлена ошибка скачивания ранее загруженных файлов при выключении 2 node из 3.
  • Исправлена логика синхронизации чейнджлога. Критические ошибки записи файла на локальный диск теперь прерывают процесс синхронизации, предотвращая уход узла в неконсистентное состояние и обеспечивая его своевременный переход в режим repair.
  • Теперь процесс vacuum удаляет не только устаревшие parts, но и все “висящие” файлы в файловой системе.
  • Добавлена возможность настройки максимального числа объектов при листинге и настройка http клиента внутри ZDS.
Смотрите также
Архитектура решения