Hallvard B Furuseth wrote:
hyc@symas.com writes: I suppose there could be a flag to _not_ start the indexing task when you add an index via cn=config, so you always must slapindex.
I'd rather not.
I suppose we should save the last entryID that was indexed at shutdown time, so that the indexer task can resume at the next startup. We'd also need some coordination with slapindex, so that if you ran slapindex after shutdown, it would erase the saved status. Rather than add any fields to the DB index files, it would probably be OK to write the status in the cn=config tree.
Or a status file in the database directory.
A cn=config attribute would make it messy to swap database directories around, since one must also modify cn=config when doing so.
OK, a status file. It would record the old and new index masks for the attributes being reindexed, and the entryID where it stopped.
If slapindex is run without a specific list of attributes, (reindex everything) it should remove and ignore the status file.
If slapindex is run with a specific list of attributes, and those attributes are in the status file, it should use the saved status and remove the specified attributes from the status file. (Deleting the file if there are no other attributes remaining.)
Otherwise, when slapd starts, it should read the status file and resume the indexing task.