I am using riak-cs (s3) to store application configuration, which gets regenerated and updated every 10min per application context. I am getting these warnings:
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">>
I have no idea what they really mean, I couldn't find any reference to this error in documentation
Riak CS manages object binaries and thier manifests (something like inode). The manifests are retained in histories instead of only latest one. The old manifest entries are reclaimed in garbage collections (along with binaries.)
Riak CS is (originally) designed for large and almost static objects, so some configuration settings and internal structures are optimized for that. As an example of such configuration, garbage collections clean up objects with more than 24-hour old.
Your objects are "very frequently" overwritten (in Riak CS's view point ;) ) and its history becomes "very" long , then the warning log was emitted. As a general rule, overwriting object in 10 minutes interval is out of sweet spot of Riak CS.
However, if you know such overwriting will happen only for small objects, it's not bad. You can suppress warning logs by setting
manifest_warn_history
underriak_cs
application larger value inadvanced.config
.