[Python-Dev] Progress on switching Windows build to Berkeley DB 4.7.25...

Jesus Cea jcea at jcea.es
Sat Jul 19 10:54:38 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Trent Nelson wrote:
| Hi all,
|
| Jesus, apologies that this has taken so long for me to get back
| to, I've been completely and utterly swamped with client work the
| past few weeks.  However, thanks to a couple of hours spare at
| Detroit airport yesterday, I was finally able to make some
| progress on updating the Windows Berkeley DB build to 4.7.25.
| I've checked in the work I've done so far to
| branches/tnelson-trunk-bsddb-47-upgrade.  One thing I wanted
| to double check with you is the following change:
|
| Modified:
python/branches/tnelson-trunk-bsddb-47-upgrade/Lib/bsddb/test/test_replication.py
|
==============================================================================
| ---
python/branches/tnelson-trunk-bsddb-47-upgrade/Lib/bsddb/test/test_replication.py
   (original)
| +++
python/branches/tnelson-trunk-bsddb-47-upgrade/Lib/bsddb/test/test_replication.py
   Wed Jun 18 06:13:44 2008
| @@ -94,7 +94,7 @@
|          # The timeout is necessary in BDB 4.5, since
DB_EVENT_REP_STARTUPDONE
|          # is not generated if the master has no new transactions.
|          # This is solved in BDB 4.6 (#15542).
| -        timeout = time.time()+2
| +        timeout = time.time()+10
|          while (time.time()<timeout) and not (self.confirmed_master
and self.client_startupdone) :
|              time.sleep(0.02)
|          if db.version() >= (4,6) :
|
| Basically, when using +2, the test failed every so often when running
the entire test_bsddb3 suite.  I picked 10 arbitrarily; it improves
things, but it's still not 100%, I still encounter the following failure
every so often:
[...]
| Can you comment on this?

Yes. The problem is a race condition between the client and the server
in the replication. If you have bad luck, the starting order will be
reversed and the sync will fail... temporally. BDB Replication Manager
has some configurable timeouts for reconnection, master election, etc.
The right thing to do is to configure them in the right way.

This work is already done in my SVN version. It will be in the 4.7.2
bsddb release. In the meanwhile, your workaround would be enough,
although the test checking will be slower.

My intent is to publish 4.7.2 as soon as I have a Python 3.0 compatible
version. Hope 2-4 weeks from now. Less if I have help solving some ugly
issues.

| Apart from this small issue, the other 311 tests pass on x86 and
| x64 with flying colours, so nice work, whatever you've been doing ;-)

Nice to see the tests passing on MS Windows :-p. I'm a bit surprised,
actually O:-).

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea at jcea.es - http://www.jcea.es/     _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea at jabber.org         _/_/    _/_/          _/_/_/_/_/
.                              _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSIGrx5lgi5GaxT1NAQI6wQP/f3oDcbPfjHQa6YcSy8KH5DYk971eNMrl
Phg0mDmy5XGgzMZArVEexVZTq1ykTBaqJ3S9hjM1RMcnNkTlB+pYS8zJxQ09psYA
YDJDnSHzPDDhLsElTzfHs/nIKaAGyEnSpsm3RCdONCJgu0LGnsjgfTmyh2bBZNol
IcAd/+dCMVU=
=Mh4Y
-----END PGP SIGNATURE-----


More information about the Python-Dev mailing list