-
Notifications
You must be signed in to change notification settings - Fork 25.8k
Description
This is a placeholder issue to improve error handling/logging for compound retrievers like rrf and linear.
In order to get all sub-retriever results, we perform an msearch and read all responses. However, if we have partial failures (i.e. some shards of one of the nested queries fail) the response is still 2xx, and these exceptions are not propagated to the user as per
elasticsearch/server/src/main/java/org/elasticsearch/search/retriever/CompoundRetrieverBuilder.java
Line 169 in fc77640
| if (item.isFailure()) { |
This not only ends up making debugging and identifying issues with the nested queries more difficult, but also might lead to different results upon each run (e..g serialization errors so non-local requests fail) w/o a clear way to identify the cause.