- Issue created by @Fabianx
- Merge request !240Issue #3527726: Add a parallel tracker to allow concurrent indexing → (Open) created by Fabianx
- 🇩🇪Germany Fabianx
This was loosely inspired also by:
Issue #3463409 by mkalkbrenner: Parallel indexing using concurrent drush processes
which showed that parallel indexing is possible in general.
- 🇦🇹Austria drunken monkey Vienna, Austria
drunken monkey → made their first commit to this issue’s fork.
- 🇦🇹Austria drunken monkey Vienna, Austria
Amazing job, thanks a lot for this!
Went through the code and largely just adjusted the code style according to my preferences, but looked pretty good already.
Additionally, I switched the default tracker for newly created indexes toparallel
– if this works well enough, I think there is no real reason to keep theBasic
tracker at all. Or are there any actual downsides to this? Anyways, on second thought, we might want to first give this change some real life experience with advanced users (that manually switch the tracker) before changing the default and then maybe even deprecating theBasic
tracker. ( 📌 Move methods from Basic tracker plugin to TrackerPluginBase Active would be a prerequisite for the latter.)
I also wonder if we shouldn’t remove theclaim_timeout
option from the UI, see my comment on the MR.Anyways, what is definitely still missing is test coverage for this. Though I’m not quite sure how we could properly test this – PHP famously isn’t really built for parallel processing.
I don’t really think we need the rest of the “Remaining tasks”, though some benchmarks for the kind of improvement you could achieve would surely be nice.Thanks a lot again, great work!
- First commit to issue fork.
- 🇧🇪Belgium kristiaanvandeneynde Antwerp, Belgium
Not adding new test coverage, but I fixed the existing tests. Especially the missing schema would make this patch throw exceptions when used on an actual project.
- 🇦🇹Austria drunken monkey Vienna, Austria
@kristiaanvandeneynde: Thanks, nice job! Especially great that you found the problem with
SearchApiDbUpdate8102Test
, I think that would have utterly confounded me.
The tests being marked as failed is (probably) due to the deprecation, which we already fixed in HEAD. Merging in latest changes, the pipeline should be green now.