When calculated objects needing eviction, we use object - hitset_achieve. So setting max objects = 30000, ceph -s will warn you at/near if there exists hitset_achieve
Signed-off-by: Ning Yao <zay11022@gmail.com>
uint64_t ratio = p->second.cache_target_full_ratio_micro +
((1000000 - p->second.cache_target_full_ratio_micro) *
g_conf->mon_cache_target_full_warn_ratio);
- if (p->second.target_max_objects && (uint64_t)st.stats.sum.num_objects >
+ if (p->second.target_max_objects && (uint64_t)(st.stats.sum.num_objects - st.stats.sum.num_objects_hit_set_archive) >
p->second.target_max_objects * (ratio / 1000000.0)) {
nearfull = true;
if (detail) {
detail->push_back(make_pair(HEALTH_WARN, ss.str()));
}
}
- if (p->second.target_max_bytes && (uint64_t)st.stats.sum.num_bytes >
+ if (p->second.target_max_bytes && (uint64_t)(st.stats.sum.num_bytes - st.stats.sum.num_bytes_hit_set_archive) >
p->second.target_max_bytes * (ratio / 1000000.0)) {
nearfull = true;
if (detail) {