Details
-
Bug
-
Resolution: Fixed
-
High
-
3.0
Description
Currently the index queue flushing algorithm works like so:
- Query the database for all index entries added since the last flush
- Add entries to task list
- Update the last flush the current system time
Under high load or with particularly slow database connections, it is feasible that entires are added in between Step 1 and 3. In these situations, these entries get ignored and never added to the index. Pages can effectively be lost or cluster indexes become out of sync.
To fix: Instead of using the system time to determine the last flush, Conflunce should use the time of the last entry retrieved from the index queue.