From: Douglas Fuller Date: Fri, 29 Jun 2018 17:55:31 +0000 (-0400) Subject: mon/OSDMonitor: Warn if missing expected_num_objects X-Git-Tag: v14.0.1~760^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=69fb2293c4d38012e7c4781aaa39a47596125bbb;p=ceph.git mon/OSDMonitor: Warn if missing expected_num_objects When creating a pool on filestore, warn if the user appears to be creating a pool to store a large number of objects but omitted the expected_num_objects parameter. Create the pool anyway. Fixes: http://tracker.ceph.com/issues/24687 Signed-off-by: Douglas Fuller --- diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index 16c7af2ad052..6da6e5a5c9c3 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -11127,6 +11127,17 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op, goto reply; } + if (expected_num_objects == 0 && + cct->_conf->osd_objectstore == "filestore" && + cct->_conf->filestore_merge_threshold < 0) { + int osds = osdmap.get_num_osds(); + if (osds && (pg_num >= 1024 || pg_num / osds >= 100)) { + ss << "For better initial performance on pools expected to store a " + << "large number of objects, consider supplying the " + << "expected_num_objects parameter when creating the pool.\n"; + } + } + int64_t fast_read_param; cmd_getval(cct, cmdmap, "fast_read", fast_read_param, int64_t(-1)); FastReadType fast_read = FAST_READ_DEFAULT;