[Xapian-tickets] [Xapian] #320: replicationtest.py fails most of the time
Xapian
nobody at xapian.org
Tue Jan 6 00:54:06 GMT 2009
#320: replicationtest.py fails most of the time
-----------------------------+----------------------------------------------
Reporter: olly | Owner: richard
Type: defect | Status: new
Priority: normal | Milestone: 1.1.0
Component: Xapian-bindings | Version: SVN trunk
Severity: normal | Blockedby:
Platform: All | Blocking:
-----------------------------+----------------------------------------------
Here's the output from "make check" on atreus:
{{{
Running test: replication_concurrency.../home/olly/svn/xapian-trunk
/xapian-core/bin/.libs/lt-xapian-replicate: NetworkError: Unable to fully
synchronise: Can't open database: Cannot open tables at consistent
revisions
FAILED
replicationtest2.py:139:Expected equality: got '1', expected '2'
137 set_master(masterpath, secondpath)
138 time.sleep(1)
-> 139
expect(xapian.Database(slavepath).get_metadata('dbname'), '2')
140
141 set_master(masterpath, firstpath)
Xapian version: 1.1.0
Platform: Linux 2.6.24.2 (#1 SMP Mon Feb 18 22:05:27 GMT 2008)
When reporting this problem, please quote all the preceding lines from
"replicationtest2.py:139" onwards.
0 tests passed, 1 tests failed
FAIL: replicationtest.py
=======================================
1 of 3 tests failed
Please report to http://xapian.org/bugs
=======================================
}}}
I've now wasted several hours failing to fix this. I'm starting to
suspect that the testcase is likely just broken as it currently exists,
but I don't understand it well enough to sort that out. So in the
interests of keeping the snapshot builder working, I'm going to disable it
for now as Richard seems to be away.
I thought for a while that the issue was broken databases in
{{{dbs_replication}}} as the testcase just tries to blindly use them if
they exist. It passed once when I removed them, but this doesn't seem to
be repeatable.
I noticed that "make clean" doesn't remove these databases (fix committed)
and also that pythontest2.py leaves databases behind for a couple of
testcases (fix also committed).
As an aside, using a fixed TCP port number for the server is problematic -
unless I'm missing some subtlety, it means that the test will fail if it's
already being run on the same host - on atreus that means me vs Richard vs
James vs buildbot vs the snapshot builder all contending for port 7876,
and someone else might even have a service using that port for something
else. The easiest fix would
probably be to skip the test if the server can't be started. A better fix
would be to try different port numbers like the C++ test harness does.
Marking for 1.1.0, at least for now.
--
Ticket URL: <http://trac.xapian.org/ticket/320>
Xapian <http://xapian.org/>
Xapian
More information about the Xapian-tickets
mailing list