]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
config: lower default omap entries recovered at once 19927/head
authorJosh Durgin <jdurgin@redhat.com>
Thu, 11 Jan 2018 02:39:28 +0000 (21:39 -0500)
committerJosh Durgin <jdurgin@redhat.com>
Thu, 11 Jan 2018 23:26:24 +0000 (15:26 -0800)
For large omap DBs, reading 64k leads to heartbeat timeouts.  There
are numerous callchains leading to this recovery step, many of which
do not have heartbeat handles, so for an easily backported version
just change the default number of entries read. DBs approaching 100GB
may require an even lower setting, but this should be good enough for
most clusters, without sacrificing recovery speed.

Fixes: http://tracker.ceph.com/issues/21897
Signed-off-by: Josh Durgin <jdurgin@redhat.com>
(cherry picked from commit 72c2076f2c14778982fb944ffade3f071a727d1a)

Conflicts:
src/common/options.cc (moved to config_opts.h)

src/common/config_opts.h

index 062675d08ffc7242d5ed822209e5ae973d1e4e4f..76996d743c7b01d34e31c89e5c2c758bca1d6ab6 100644 (file)
@@ -760,7 +760,7 @@ OPTION(osd_recovery_delay_start, OPT_FLOAT, 0)
 OPTION(osd_recovery_max_active, OPT_INT, 3)
 OPTION(osd_recovery_max_single_start, OPT_INT, 1)
 OPTION(osd_recovery_max_chunk, OPT_U64, 8<<20)  // max size of push chunk
-OPTION(osd_recovery_max_omap_entries_per_chunk, OPT_U64, 64000) // max number of omap entries per chunk; 0 to disable limit
+OPTION(osd_recovery_max_omap_entries_per_chunk, OPT_U64, 8096) // max number of omap entries per chunk; 0 to disable limit
 OPTION(osd_copyfrom_max_chunk, OPT_U64, 8<<20)   // max size of a COPYFROM chunk
 OPTION(osd_push_per_object_cost, OPT_U64, 1000)  // push cost per object
 OPTION(osd_max_push_cost, OPT_U64, 8<<20)  // max size of push message