Merge pull request #32473 from sseshasa/fix-mon-autotune-update

mon/OSDMonitor: Don't update mon cache settings if rocksdb is not used

Reviewed-by: Josh Durgin <jdurgin@redhat.com>
Reviewed-by: Neha Ojha <nojha@redhat.com>
This commit is contained in:
Kefu Chai 2020-01-07 16:32:41 +08:00 committed by GitHub
commit e18dcbb232
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -456,7 +456,7 @@ void OSDMonitor::handle_conf_change(const ConfigProxy& conf,
<< g_conf()->mon_memory_target
<< " rocksdb_cache_size:"
<< g_conf()->rocksdb_cache_size
<< ". Invalid size provided."
<< ". Unable to update cache size."
<< dendl;
}
}
@ -492,6 +492,11 @@ int OSDMonitor::_update_mon_cache_settings()
return -EINVAL;
}
if (pcm == nullptr && rocksdb_binned_kv_cache == nullptr) {
derr << __func__ << " not using pcm and rocksdb" << dendl;
return -EINVAL;
}
uint64_t old_mon_memory_target = mon_memory_target;
uint64_t old_rocksdb_cache_size = rocksdb_cache_size;
@ -530,7 +535,7 @@ int OSDMonitor::_update_mon_cache_settings()
pcm->tune_memory();
pcm->balance();
_set_new_cache_sizes();
dout(10) << __func__ << " Updated mon cache setting."
dout(1) << __func__ << " Updated mon cache setting."
<< " target: " << target
<< " min: " << min
<< " max: " << max
@ -933,7 +938,7 @@ int OSDMonitor::register_cache_with_pcm()
pcm->insert("kv", rocksdb_binned_kv_cache, true);
pcm->insert("inc", inc_cache, true);
pcm->insert("full", full_cache, true);
dout(10) << __func__ << " pcm target: " << target
dout(1) << __func__ << " pcm target: " << target
<< " pcm max: " << max
<< " pcm min: " << min
<< " inc_osd_cache size: " << inc_osd_cache.get_size()
@ -959,7 +964,7 @@ int OSDMonitor::_set_cache_ratios()
inc_cache->set_cache_ratio(cache_inc_ratio);
full_cache->set_cache_ratio(cache_full_ratio);
dout(10) << __func__ << " kv ratio " << cache_kv_ratio
dout(1) << __func__ << " kv ratio " << cache_kv_ratio
<< " inc ratio " << cache_inc_ratio
<< " full ratio " << cache_full_ratio
<< dendl;
@ -5096,7 +5101,7 @@ void OSDMonitor::_set_new_cache_sizes()
inc_osd_cache.set_bytes(inc_alloc);
full_osd_cache.set_bytes(full_alloc);
dout(10) << __func__ << " cache_size:" << cache_size
dout(1) << __func__ << " cache_size:" << cache_size
<< " inc_alloc: " << inc_alloc
<< " full_alloc: " << full_alloc
<< " kv_alloc: " << kv_alloc