]> git.saurik.com Git - redis.git/commit
Incrementally flush RDB on disk while loading it from a master.
authorantirez <antirez@gmail.com>
Fri, 24 Aug 2012 17:28:44 +0000 (19:28 +0200)
committerantirez <antirez@gmail.com>
Tue, 28 Aug 2012 10:47:33 +0000 (12:47 +0200)
commit784b93087c622999e225735c0c76d50241941022
treef09a46b252c83b1c17cb0566e63be11317ea2cdd
parent1caa627e4e53c479f1ee1f1f80b1b980d55eef7f
Incrementally flush RDB on disk while loading it from a master.

This fixes issue #539.

Basically if there is enough free memory the OS may buffer the RDB file
that the slave transfers on disk from the master. The file may
actually be flused on disk at once by the operating system when it gets
closed by Redis, causing the close system call to block for a long time.

This patch is a modified version of one provided by yoav-steinberg of
@garantiadata (the original version was posted in the issue #539
comments), and tries to flush the OS buffers incrementally (every 8 MB
of loaded data).
src/config.h
src/fmacros.h
src/redis.c
src/redis.h
src/replication.c