前景提要
编译安装,make test 不能通过
报错我看不太懂, 报错如下 : [ok]: diskless loading short read Logged warnings (pid 31050): (none) Logged warnings (pid 31039): (none) [err]: diskless no replicas drop during rdb pipe in tests/integration/replication.tcl rdb child didn't terminate Logged warnings (pid 31439): (none) Logged warnings (pid 31428): (none) Waiting for process 31027 to exit... Logged warnings (pid 31027): (none) [exception]: Executing test client: I/O error reading reply. I/O error reading reply while executing "wait_for_condition 500 100 { [s -2 rdb_bgsave_in_progress] == 0 } else { fail "rdb..." ("uplevel" body line 41) invoked from within "uplevel 1 $code " (procedure "start_server" line 3) invoked from within "start_server {} { lappend replicas [srv 0 client] lappend replicas_alive [srv 0 client] #..." ("uplevel" body line 4) invoked from within "uplevel 1 $code " (procedure "start_server" line 3) invoked from within "start_server {} { lappend replicas [srv 0 client] lappend replicas_alive [srv 0 client] start_server {..." ("uplevel" body line 5) invoked from within "uplevel 1 $code" (procedure "test" line 47) invoked from within "test "diskless $all_drop replicas drop during rdb pipe" { set replicas {} set replicas_alive {} # start one replic..." ("foreach" body line 2) invoked from within "foreach all_drop {no slow fast all} { test "diskless $all_drop replicas drop during rdb pipe" { set replicas {} set re..." ("uplevel" body line 16) invoked from within "uplevel 1 $code " (procedure "start_server" line 3) invoked from within "start_server {tags {"repl"}} { set master [srv 0 client] $master config set repl-diskless-sync yes $master config set repl-diskless-sync-d..." (file "tests/integration/replication.tcl" line 508) invoked from within "source $path" (procedure "execute_test_file" line 4) invoked from within "execute_test_file $data" (procedure "test_client_main" line 10) invoked from within "test_client_main $::test_server_port " Killing still running Redis server 26413 Killing still running Redis server 26446 Killing still running Redis server 26456 Killing still running Redis server 26715 Killing still running Redis server 26774 Killing still running Redis server 31428 Makefile:318: recipe for target 'test' failed make[1]: *** [test] Error 1 make[1]: Leaving directory '/tmp/redis-stable/src' Makefile:6: recipe for target 'test' failed make: *** [test] Error 2
查看文件 tests/integration/replication.tcl
报错位置 :505 行的函数 # test diskless rdb pipe with multiple replicas, which may drop half way start_server {tags {"repl"}} { set master [srv 0 client] $master config set repl-diskless-sync yes $master config set repl-diskless-sync-delay 1 set master_host [srv 0 host] set master_port [srv 0 port] set master_pid [srv 0 pid]
函数体: # wait for rdb child to exit wait_for_condition 500 100 { [s -2 rdb_bgsave_in_progress] == 0 } else { fail "rdb child didn't terminate" }
请问,我该怎么解决这个问题 ?