Comment 4 for bug 536958

Revision history for this message
Nathan Stratton Treadway (nathanst) wrote :

(As a side note, I noticed that the actual version number printed out in the "doesn't match environment version 0.XXX" message was not consistent -- when I did the original upgrade it was "0.44", but in my later testing it started out at 0.143 and then kept getting larger.

It turns out that the format of the Berkeley DB "environment" file changed between BDB 4.3 and 4.4, and in particular the location of the bytes that encode the database version number changed. In the the case of lucid's OpenLDAP tools (which use DBD v4.7) looking at the environment file left over from hardy (v4.2), the bytes that are interpreted as the "minor" version number actually contains the "Locks granted without waiting" count.

So, for example, if I run
  db4.2_stat -e -N | head | grep "without waiting"
from within the BDB directory, the count shown will match the XXX printed in the "environment version 0.XXX" message from slaptest.

This means that running some other command that changes the locks-granted count [e.g. "db4.2_stat -e" , without the "-N" ] will actually cause the XXX number to change between different attempts to run slaptest .

It seems like the header format of the environment file was stabilized as of db4.4, so db4.7 tools shouldn't have the same problem with files generated by 4.4 and later. )