Repository navigation
Index datasets one at a time again in batch reindexes - #12774
Conversation
This comment has been minimized.
This comment has been minimized.
Note the following comment: // em is protected, a subclass can set it from this package
This comment has been minimized.
This comment has been minimized.
Test Results407 tests 392 ✅ 24m 7s ⏱️ Results for commit cc18d13. ♻️ This comment has been updated with latest results. |
This comment has been minimized.
This comment has been minimized.
With flush mode AUTO the index job checked all loaded entities for changes before each term lookup. The job never changes them, so COMMIT is safe. Refs: #12765
This comment has been minimized.
This comment has been minimized.
|
|
📦 Pushed preview images as 🚢 See on GHCR. Use by referencing with full name as printed above, mind the registry name. |
|
Interesting/impressive results from a full reindex (the same database snapshot that was used for the 6.12 release candidate test): 31.5 hours total (vs 40.5 hours in 6.12!) start: end: The result checked in in the usual place. I am not sure I can properly explain where the 9 hours worth of savings (!!) came from myself. So I would appreciate a technical explanation. But it is fairly clear that it is the datasets with large numbers of files that got much faster to reindex. 6.12: 6.12.1: i.e., 4.5 min. and 8.5 min. vs 15 sec. and 2 min. respectively (!!). I am satisfied with what I've seen. Merging. |



What this PR does / why we need it:
Since #12712, a full reindex and a recursive collection reindex (also used when moving a collection) queue every dataset at once on the shared async pool, ahead of the indexing of new changes, exports and index time updates. This makes them index one dataset at a time again, as in 6.12.
Which issue(s) this PR closes:
Special notes for your reviewer:
The batch reads the dataset ids from the database, so there is no commit to wait for.
MoveDataverseCommandstill starts the recursive reindex before its own commit (see the TODO there), as in 6.12.Suggestions on how to test this:
Run
curl http://localhost:8080/api/admin/indexand watch the log: datasets are indexed one by one after each "indexing dataset N of M" line. An edit made during the reindex is indexed right away. Unit test:IndexingAfterCommitTest.Does this PR introduce a user interface change? If mockups are available, please link/include them here:
No.
Is there a release notes update needed for this change?:
No, it fixes #12712, which is not released yet.
Additional documentation:
None.