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

back-bdb online indexing

While back-config now allows you to alter back-bdb's index configuration on the fly, there's some missing functionality here (so adding an index directive is a Bad Idea for now).

The idea so far - when new indexing is configured, submit a runqueue task that will do the necessary slapindex operations. The problem is that this task will have to iterate over every entry in the database, and we can't use the indexes to satisfy any searches until the task completes. That means, we cannot allow the rest of the backend to see the new index configuration while performing this task. We may also have to prevent any other updates from occurring while this goes on. I.e., if we just use a database cursor to walk thru the id2entry database, we don't want anybody modifying any entries we've already done (because the modifications may not know to update the in-progress indices. I suppose we could arrange for modifications to work...)

Given these constraints, is it worthwhile to allow this operation, or should we just disallow new indexing to be configured at runtime?

 -- Howard Chu
 Chief Architect, Symas Corp.       Director, Highland Sun
 http://www.symas.com               http://highlandsun.com/hyc
 Symas: Premier OpenSource Development and Support