Ok, I think my eyes just popped open a bit here, I was assuming something
could not/would not happen.
Let's say I have a pristinely clean db, no outstanding locks, I start up
slapd, it runs fine, never dies, never is stopped and started, is not
accessed by anything but slapd, slapcat, and db_checkpoint (each always
successfully) while it is running, can a lock go stale in that environment?
My gut feeling here is that the answer is going to be yes, thus being the
root cause of these occurrences. In my ideal world I never expect that
to/could happen...
Furthermore, I see these on occasion:
connection_read(62): no connection!
Sometimes this occurs right after the ACCEPT without a corresponding op=
ENTRY for that fd. Other times I see it after one or more op= ENTRY
operations. This appears to me that the client is not gracefully
disconnecting, the "no connection" message can be time stamp the same second
as the ACCEPT so I know it's not due to idle timeout. I'm pretty sure the
culprit in most of these "no connection" messages is via sendmail on our MTA
doing lookups.
Could instances of these be causing stale locks??