[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