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

Re: slapd index corruption in low memory situation (ITS#318)

slapd fault handling is wholely inadequate.  We would welcome
improvements made in this area.  I would suggest that any
coding be done against our devel code as it must pass mustard
there before being applied to 1.2.

It is quite likely that a number of interfaces will have to
be changed to properly report errors up through the stack
so that appropriate high level handling can occur.

I would suggest that further discussion of this issue be
moved to -devel.


At 06:11 AM 10/5/99 GMT, bernardgardner@ozemail.com.au wrote:
>Is there a good reason for the void typecast of the error return of db_open?

Lazy programming.

>I'm currently testing a modification that checks the return value, and
>if it looks as if the problem was due to a lack of memory (ENOMEM || EAGAIN)
>retry the db_open with db_cachesize=0 (use default cache size instead of user

I would suggest that an no retry be attempted.  The system is misconfigured.
Report it immediately.

>My main concerns here are that EAGAIN might be returned for some
>other reason (like inability to acquire a lock), and if the second attempt to
>open the file fails, well, what should it do then?

slapd should has exclusive access to the db files.  If access
is not granted slapd should stop (as it's likely some other
application is mucking with the database).


Kurt D. Zeilenga		<kurt@boolean.net>
Net Boolean Incorporated	<http://www.boolean.net/>