Status: In Progress
Affects Version/s: 2.6.0, 2.4.0
Fix Version/s: 7.1.0
As a user I would like to be able to rebuild indexes (new or existing) with zero down time. From a devops point of view configuration is immutable, but DB data is persistent across restarts, so any indexing changes need to be taken into account when the server starts up.
- administrator can rebuild an index without preventing read/write access to the rest of the backend, and without deactivating/disabling this backend (for non system indexes)
- there is no expectation that indexes being rebuilt will be usable while they are being rebuilt
- the concurrent rebuild should be as fast as possible but is expected to be slower than an offline on disk merge based rebuild
- server failure during the rebuild process should not leave the backend in an invalid state, with the exception of the partially built index(s) which are expected to remain in a degraded state. An administrator should be able to restart the rebuild process.
- it should be possible to monitor the progress of this task in cn=tasks. The count of entries left and done is made available through the ds-task-unprocessed-entry-count and ds-task-processed-entry-count attributes on the rebuild-index task entries.
processsed and unprocessed
Comments from the initial issue:
IIRC the JE backend supports online rebuilds without the need for taking the backend offline as long as no system indexes are being rebuilt (e.g. dn2id).