]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: Warn if missing expected_num_objects 23860/head
authorDouglas Fuller <dfuller@redhat.com>
Fri, 29 Jun 2018 17:55:31 +0000 (13:55 -0400)
committerNathan Cutler <ncutler@suse.com>
Sun, 2 Sep 2018 11:53:33 +0000 (13:53 +0200)
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 69fb2293c4d38012e7c4781aaa39a47596125bbb)

src/mon/OSDMonitor.cc

index ea41571c777075c159a8adbbf11f6f49eb5d3b8e..da55af1519494670d8eb9fbb2213222994553d5f 100644 (file)
@@ -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;