manticoresearch icon indicating copy to clipboard operation
manticoresearch copied to clipboard

Implement multi-threaded faceted join queries

Open glookka opened this issue 11 months ago • 0 comments

Currently there's no support for multi-threaded execution of facet join queries. Multi-threaded execution means that sorters must be cloned, and cloning a join multi sorter is hard with the current architecture. When there are several sorters in the joined query, join multi sorter replaces the first sorters and keeps pointers to all the other sorters so that it can push the matches it produces as the result of join to those sorters. This works fine until we need to clone the multi join sorter and all the other sorters while retaining valid pointers inside the multi join sorter. This can be fixed by either adding some logic to fixup sorter pointers or by leaving one multisorter and changing the logic that links the number of sorters to the number of result sets.

glookka avatar Mar 21 '24 07:03 glookka