MeiliSearch/meilisearch-http/src
bors[bot] d16ea755d8
Merge #2982
2982: Adapt task queries to account for special index swap rules r=irevoire a=loiclec

# Pull Request

## Related issue
Fixes https://github.com/meilisearch/meilisearch/issues/2970 

## What does this PR do?
- Replace the `get_tasks` method with a `get_tasks_from_authorized_indexes` which returns the list of tasks matched by the query **from the point of view of the user**. That is, it takes into consideration the list of authorised indexes as well as the special case of `IndexSwap` which should not be returned if an index_uid is specified or if any of its associated indexes are not authorised.
- Adapt the code in other places following this change
- Add some tests
- Also the method `get_task_ids_from_authorized_indexes` now takes a read transaction as argument. This is because we want to make sure that the implementation of `get_tasks_from_authorized_indexes` only uses one read transaction. Otherwise, we could (1) get a list of task ids matching the query, then (2) one of these task ids is deleted by a taskDeletion task, and finally (3) we try to get the `Task`s associated with each returned task ids, and get a `CorruptedTaskQueue` error.



Co-authored-by: Loïc Lecrenier <loic.lecrenier@me.com>
2022-10-27 14:28:04 +00:00
..
analytics reformat 2022-10-27 11:35:23 +02:00
extractors fix the payload too large error 2022-10-27 11:35:06 +02:00
routes Merge #2982 2022-10-27 14:28:04 +00:00
error.rs Fix a few index swap bugs. 2022-10-27 11:35:17 +02:00
lib.rs Patch the IndexScheduler in meilisearch-http to use the options struct 2022-10-27 11:35:16 +02:00
main.rs Handle the CLI options related to snapshots 2022-10-27 11:35:15 +02:00
metrics.rs Introduce a rustfmt file 2022-10-27 11:35:05 +02:00
option.rs fix all the tests 2022-10-27 11:35:17 +02:00
route_metrics.rs Introduce a rustfmt file 2022-10-27 11:35:05 +02:00
search.rs Reapply #2601 2022-10-27 11:35:22 +02:00