tags 967970 + moreinfo
thanks

Hi Matthew,

> I also filed this here. The error received and the reason why are different on
> Ubuntu and Debian, so the solution might be similar or it might be different.
> So, I am just trying to be complete / comprehensive.

Thanks for the heads-up; I don't subscribe to Redis bugs filed against
Ubuntu. So, for completeness, I can "reproduce" this in Debian:

Aug 06 12:42:10 tinycat systemd[1]: Starting Advanced key-value store...
Aug 06 12:42:10 tinycat redis-server[2682431]: *** FATAL CONFIG FILE ERROR 
(Redis 6.0.6) ***
Aug 06 12:42:10 tinycat redis-server[2682431]: Reading the configuration file, 
at line 1783
Aug 06 12:42:10 tinycat redis-server[2682431]: >>> 'activedefrag yes'
Aug 06 12:42:10 tinycat redis-server[2682431]: 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
Aug 06 12:42:10 tinycat systemd[1]: redis-server.service: Control process 
exited, code=exited, status=1/FAILURE

I use the term "reproduce" in square quotes here because I am not
entirely sure why you are surprised by this error -- we deliberately
do not use the bundled version of jemalloc in Debian so we can use the
 system one as per the general policy about avoiding embedded code
copies.

The only solutions would appear to be either (a) revert to using the
bundled jemalloc version (which would require a stronger case at this
point), or (b) ask upstream to merge this fragmentation support into
upstream jemalloc.

What am I missing here? I might be missing something as I don't
completely understand your remarks about the JEMALLOC_FRAG_HINT
define. Indeed, the code that surrounds it in zmalloc.h appears to
perfectly describe the trade-off being made:

 73 /* We can enable the Redis defrag capabilities only if we are using Jemalloc
 74  * and the version used is our special version modified for Redis having
 75  * the ability to return per-allocation fragmentation hints. */
 76 #if defined(USE_JEMALLOC) && defined(JEMALLOC_FRAG_HINT)
 77 #define HAVE_DEFRAG
 78 #endif


Regards,

--
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org 🍥 chris-lamb.co.uk
       `-

Reply via email to