История манифеста Riak Cs Long

Я использую riak-cs (s3) для хранения конфигурации приложения, которая восстанавливается и обновляется каждые 10 минут для каждого контекста приложения. Я получаю эти предупреждения:

Dec 04 14:53:12 hostname01 docker[8947]: Dec 4 14:53:12 hostname01 riak-cs[39]: [warning] <0.14295.2911>@riak_cs_manifest:maybe_warn_bloated_manifests:153 Long manifest history (51 manifests) for bucket=<<"production">> key=<<"routing/8f39843e-9d0c-47e7-9d04-80b9846c028d/7c48f790-0d38-4400-a447-189f271ca1fd/navigation_configuration">>

Понятия не имею, что они на самом деле означают, я не нашел упоминания об этой ошибке в документации.


person Johnny Everson    schedule 04.12.2017    source источник


Ответы (1)


Riak CS управляет двоичными файлами объектов и их манифестами (что-то вроде inode). Манифесты сохраняются в истории, а не только последняя. Старые записи манифеста удаляются в сборщиках мусора (вместе с двоичными файлами).

Riak CS (изначально) разработан для больших и почти статичных объектов, поэтому некоторые настройки конфигурации и внутренние структуры оптимизированы для этого. В качестве примера такой конфигурации сборщики мусора очищают объекты старше 24 часов.

Ваши объекты «очень часто» перезаписываются (с точки зрения Riak CS;)), и его история становится «очень» длинной, после чего создается журнал предупреждений. Как правило, перезапись объекта с интервалом в 10 минут не подходит для Riak CS.

Однако, если вы знаете, что такая перезапись произойдет только для небольших объектов, это неплохо. Вы можете подавить журналы предупреждений, установив для manifest_warn_history в riak_cs приложении большее значение в advanced.config.

person shino    schedule 07.12.2017