diff --git a/src/config.c b/src/config.c index 4e2c74e5d..83651877c 100644 --- a/src/config.c +++ b/src/config.c @@ -1007,6 +1007,16 @@ void configSetCommand(client *c) { "activerehashing",server.activerehashing) { } config_set_bool_field( "activedefrag",server.active_defrag_enabled) { +#ifndef HAVE_DEFRAG + if (server.active_defrag_enabled) { + server.active_defrag_enabled = 0; + addReplyError(c, + "Active defragmentation cannot be enabled: it requires a " + "Redis server compiled with a modified Jemalloc like the " + "one shipped by default with the Redis source distribution"); + return; + } +#endif } config_set_bool_field( "protected-mode",server.protected_mode) { } config_set_bool_field( diff --git a/src/server.h b/src/server.h index 17e12d9d6..bbc121b72 100644 --- a/src/server.h +++ b/src/server.h @@ -152,7 +152,7 @@ typedef long long mstime_t; /* millisecond time type. */ #define CONFIG_DEFAULT_LAZYFREE_LAZY_EXPIRE 0 #define CONFIG_DEFAULT_LAZYFREE_LAZY_SERVER_DEL 0 #define CONFIG_DEFAULT_ALWAYS_SHOW_LOGO 0 -#define CONFIG_DEFAULT_ACTIVE_DEFRAG 1 +#define CONFIG_DEFAULT_ACTIVE_DEFRAG 0 #define CONFIG_DEFAULT_DEFRAG_THRESHOLD_LOWER 10 /* don't defrag when fragmentation is below 10% */ #define CONFIG_DEFAULT_DEFRAG_THRESHOLD_UPPER 100 /* maximum defrag force at 100% fragmentation */ #define CONFIG_DEFAULT_DEFRAG_IGNORE_BYTES (100<<20) /* don't defrag if frag overhead is below 100mb */