1 set defaults
{ appendonly
{yes
} appendfilename
{appendonly.aof
} }
2 set server_path
[tmpdir server.aof
]
3 set aof_path
"$server_path/appendonly.aof"
5 proc start_server_aof
{overrides code
} {
6 upvar defaults defaults srv srv server_path server_path
7 set config
[concat $defaults $overrides]
8 start_server
[list overrides
$config] $code
12 # Specific test for a regression where internal buffers were not properly
13 # cleaned after a child responsible for an AOF rewrite exited. This buffer
14 # was subsequently appended to the new AOF, resulting in duplicate commands.
15 start_server_aof
[list dir
$server_path] {
16 set client
[redis
[srv host
] [srv port
]]
17 set bench
[open "|src/redis-benchmark -q -p [srv port] -c 20 -n 20000 incr foo" "r+"]
20 # Benchmark should be running by now: start background rewrite
23 # Read until benchmark pipe reaches EOF
24 while {[string length
[read $bench]] > 0} {}
26 # Check contents of foo
27 assert_equal
20000 [$client get foo
]
30 # Restart server to replay AOF
31 start_server_aof
[list dir
$server_path] {
32 set client
[redis
[srv host
] [srv port
]]
33 assert_equal
20000 [$client get foo
]