Skip to content

Commit

Permalink
mon/OSDMonitor: Warn if missing expected_num_objects
Browse files Browse the repository at this point in the history
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 <dfuller@redhat.com>
(cherry picked from commit 69fb229)
  • Loading branch information
Douglas Fuller authored and smithfarm committed Sep 2, 2018
1 parent 9d773d6 commit aa2635b
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/mon/OSDMonitor.cc
Expand Up @@ -11071,6 +11071,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;
Expand Down

0 comments on commit aa2635b

Please sign in to comment.