So when I have openldap running and add a bunch of records, and try to
immediately search for them they aren't always there. If I stop slapd
and restart it, they are.

So I am guessing I have something set that is not committing these
transactions immediately and by restarting the server I am pushing
them in?

What would cause this?

You should allow slapd to finish write operations. Depending on the
number of entries, server load, hardware, location of database and
logfiles, database configuration and so on, that may take a few
minutes.

This is nonsense. back-bdb is transactional; writes are guaranteed to
have completed before slapd returns a response to a client request.

But there were some nasty back-bdb caching bugs in 2.1.22. It's not a
good idea to spend any time on an old release when the changelog from
back then to the current one is so long.
--
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sunhttp://www.symas.comhttp://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support