[Date Prev][Date Next] [Chronological] [Thread] [Top]

slapd panic: why not shutdown ? (ITS#1905)



Full_Name: Jan-Piet Mens
Version: 2.0.23
OS: RH Linux 7.2
URL: 
Submission from: (NULL) (80.130.185.135)


Late yesterday afternoon, searches unexpectedly started returning no results.
A look in the logs showed that adds where not being performed either. An
exerpt from the slapd 2.0.23 log shows

slapd[29480]: ldbm: ==> PANIC: Invalid argument
...
slapd[29483]: <= index_read NULL (could not open service.dbb)
slapd[29483]: <= index_read NULL (could not open service.dbb)
...
slapd[29824]: conn=105 op=12 ADD dn="UID=R02D76,OU=PEOPLE,DC=RETAIL-SC,DC=COM"
slapd[29824]: ldbm_add: next_id failed

I found the function in servers/slapd/back-ldbm/nextid.c and deduced that
my database was hosed.

The great problem that we have with this is that slapd continues answering
queries and returning impossible results or even failures, which is incorrect
because we have multiple slaves. Since slapd *knows* there is a problem with
the underlying database level (panic) why doesn't it shut itself down ?
That would cause clients to really fail with a `connection refused' and get
them to contact a different slave or master, supposing they've specified
multiple
hosts in ldap_open()..

Would that be possible ? Are there any disadvantages in doing that ?
Any reason why my db is hosed ? :-)

        -JP

OpenLDAP 2.0.23
Berkeley DB 3.2.9
Kernel 2.4.9
libc 2.2.4