This is a cryptographically signed message in MIME format.
--------------ms020801020604080509050502 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable
masarati@aero.polimi.it wrote:
=20 The attachment is unreadable; can you ftp it somewhere? Thanks, p.
http://www.stroeder.com/temp/openldap-testbed-its7239.tar.bz2
Thanks. The explanation is always simple, after one finds it. The DN of accesslog entries is generated using the reqStart AVA. When logops all and internal operations take place, multiple entries are generated with the same reqStart AVA. So an internal search which is logged because of some overlay eats up the DN of the modrdn, and be_add() called by slapo-accesslog(5) fails because the entry already exists.
Although logging internal entries could be of some use, I see two solutions:
- modify the value of reqStart (e.g. instead of using o_tincr for the fractional part of the timestamp, we could use an incremental counter initialized with o_tincr and incremented at each logging within the same operation. The counter could be stored somewhere in the operation structure (e.g. in o_extra)
- prevent logging of internal ops; again, this could be achieved by setting a dedicated o_internal_op field in the Operation structure.
Since this modification could be intrusive, I'd like to gather some comments before proceeding with a fix.
p.