[Bucardo-general] Problem with Bucardo tests
Giulio Harding
giulio.harding at mnetcorporation.com
Thu Feb 21 13:20:02 UTC 2008
Hi all, I've just come across Bucardo, and its tantalizing promise of
(relatively) easy-to-use multi master replication for postgres, so
I've decided to take it out for a spin :)
However, I'm having some trouble running the Bucardo tests. This is
on a Centos 4.6 x86-64 server with PostgreSQL 8.3 (PGDG rpms) and
Bucardo 3.0.8 fresh from the website. Each time I run the tests I get
a failure at a different location. For example, using 'time make test
TEST_VERBOSE=1 BUCARDO_KEEP_OLD_DEBUG=1 BUCARDO_TESTBAIL=1':
First run:
----------
...
ok 374 - (fullcopy) Table droptest is empty on remote database
[line: 2588]
ok 375 - (fullcopy) Second table bucardo_test1 still empty before
kick [line: 2594]
ok 376 - (fullcopy) Second table bucardo_test1 got the fullcopy row
[line: 2600]
ok 377 - (fullcopy) Triggers and rules did NOT fire on remote table
[line: 2604]
ok 378 - (fullcopy) After insert, trigger and rule both populate
droptest table [line: 2624]
ok 379 - (fullcopy) Table droptest is empty on remote database
[line: 2628]
not ok 380 - (fullcopy) Second table bucardo_test1 got the fullcopy
row [line: 2634]
Bailout called. Further testing stopped: Stopping on a failed
'is_deeply' test from line 1265. Time: 1203597611
Stopping on a failed 'is_deeply' test from line 1265. Time: 1203597611
# Failed test '(fullcopy) Second table bucardo_test1 got the
fullcopy row [line: 2634]'
# at t/01bc.t line 1188.
# Structures begin differing at:
# $got->[1] = Does not exist
# $expected->[1] = ARRAY(0x18cb750)
# GOT: [['1']]
# EXPECTED: [[1],[2]]
#
# Leaving, shutting down any running processes
make: *** [test_dynamic] Error 1
Second run:
-----------
...
ok 360 - (fullcopy) After insert, trigger and rule both populate
droptest table [line: 2584]
ok 361 - (fullcopy) Table droptest is empty on remote database
[line: 2588]
ok 362 - (fullcopy) Second table bucardo_test0 still empty before
kick [line: 2594]
ok 363 - (fullcopy) Second table bucardo_test0 got the fullcopy row
[line: 2600]
ok 364 - (fullcopy) Triggers and rules did NOT fire on remote table
[line: 2604]
ok 365 - (fullcopy) After insert, trigger and rule both populate
droptest table [line: 2624]
ok 366 - (fullcopy) Table droptest is empty on remote database
[line: 2628]
Bailout called. Further testing stopped: bucardo_ctl was not
invoked: is the bucardo.test.helper file running? (command=kick
copytest 0)
bucardo_ctl was not invoked: is the bucardo.test.helper file running?
(command=kick copytest 0)
#
# Leaving, shutting down any running processes
make: *** [test_dynamic] Error 1
- This time there's some bucardo perl processes left over:
[11:54 PM] nyx /tmp/Bucardo/Bucardo-3.0.8 -$ ps -ef | grep bucardo
1056 3675 1 0 23:42 pts/0 00:00:00 /usr/bin/perl t/
bucardo.test.helper
1056 4010 3675 0 23:47 pts/0 00:00:00 /usr/local/bin/perl
-- -*-cperl-*- ./bucardo_ctl kick copytest 0 --dbname=bucardo_test --
dbuser=bucardo_test --dbpass=pie --ctlquiet --debugstderr=0 --
debugstdout=0 --debugfile=1 --verbose=1 --sendmail=0 --cleandebugs=0
--debugdir=. --extraname=bctest_giulio.harding --dbport=5432
postgres 4011 9232 0 23:47 ? 00:00:00 postgres:
bucardo_test bucardo_test [local] idle
1056 4132 20894 0 23:54 pts/0 00:00:00 grep bucardo
- I tried stracing the remaining perl process, which appears to be
stuck waiting for something (waiting for data on a socket?)
[11:55 PM] nyx /tmp/Bucardo/Bucardo-3.0.8 -$ strace -p 4010
Process 4010 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>) = 0
nanosleep({0, 0}, NULL) = 0
gettimeofday({1203598558, 423429}, NULL) = 0
time(NULL) = 1203598558
time(NULL) = 1203598558
recvfrom(4, 0xa9ad60, 16384, 0, 0, 0) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1203598558, 423673}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
nanosleep({0, 0}, NULL) = 0
gettimeofday({1203598559, 426683}, NULL) = 0
time(NULL) = 1203598559
time(NULL) = 1203598559
recvfrom(4, 0xa9ad60, 16384, 0, 0, 0) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1203598559, 426916}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
nanosleep({0, 0}, NULL) = 0
gettimeofday({1203598560, 432884}, NULL) = 0
time(NULL) = 1203598560
time(NULL) = 1203598560
recvfrom(4, 0xa9ad60, 16384, 0, 0, 0) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1203598560, 433125}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, {1, 0}) = 0
nanosleep({0, 0}, NULL) = 0
gettimeofday({1203598561, 440248}, NULL) = 0
time(NULL) = 1203598561
time(NULL) = 1203598561
recvfrom(4, 0xa9ad60, 16384, 0, 0, 0) = -1 EAGAIN (Resource
temporarily unavailable)
gettimeofday({1203598561, 440492}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
nanosleep({1, 0}, <unfinished ...>
Process 4010 detached
Third run:
----------
...
ok 386 - (fullcopy) After insert, trigger and rule both populate
droptest table [line: 2584]
ok 387 - (fullcopy) Table droptest is empty on remote database
[line: 2588]
ok 388 - (fullcopy) Second table bucardo_test2 still empty before
kick [line: 2594]
ok 389 - (fullcopy) Second table bucardo_test2 got the fullcopy row
[line: 2600]
ok 390 - (fullcopy) Triggers and rules did NOT fire on remote table
[line: 2604]
ok 391 - (fullcopy) After insert, trigger and rule both populate
droptest table [line: 2624]
ok 392 - (fullcopy) Table droptest is empty on remote database
[line: 2628]
Bailout called. Further testing stopped: bucardo_ctl was not
invoked: is the bucardo.test.helper file running? (command=kick
copytest 0)
bucardo_ctl was not invoked: is the bucardo.test.helper file running?
(command=kick copytest 0)
#
# Leaving, shutting down any running processes
make: *** [test_dynamic] Error 1
So communications between the test processes and the test helper
seems to die at some point, but beyond that I'm not sure what's going
on :(
Any ideas? Let me know if any additional details are required...
Cheers,
--
Giulio Harding
Systems Administrator
m.Net Corporation
Level 2, 8 Leigh Street
Adelaide SA 5000, Australia
Tel: +61 8 8210 2041
Fax: +61 8 8211 9620
Mobile: 0432 876 733
Yahoo: giulio.harding
MSN: giulio.harding at mnetcorporation.com
http://www.mnetcorporation.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2451 bytes
Desc: not available
Url : https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20080221/123690ed/attachment.bin
More information about the Bucardo-general
mailing list