-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Search Phase execution exception in Hybrid Query #393
Comments
@mgdunn2 can you please confirm that is one shard you're using in this scenario? |
Yes, one shard. I created the index with the request provided above. |
Here's the The only other thing I did was run a daemonset on the nodes ahead of starting the pods to up the
|
thank you for the quick reply, we can see the issue on our end now. Key thing for this to replicate was number of nodes, it's 3 nodes in your config, but 1 shard. |
Confirmed that setting the shard count equal to the number of data nodes fixed the issue for now as a work around. |
We have figured out the root cause for this issue. In case of multiple nodes if coordinator node isn't the one that has a shard with the hit docs then results of fetch will be serialized in order to be sent to coordinator node. The doc id field is not serialized and will be set to "-1" for all hits (code ref in core OpenSearch). That causes a problem for score normalization processor as we use that doc_id to form a final result. I just pushed a fix for this, it will be part of 2.11 release. @mgdunn2 in a mean time that workaround should do the job, this scenario you you've found - it's specific to one shard. |
Resolving this as the issue is resolved in 2.11 |
Describe the bug
When performing a hybrid query with one full text query and one KNN query the search often fails with a search_phase_execution_exception with
To Reproduce
Steps to reproduce the behavior:
The error is intermittent but I see it more often than I don't.
Expected behavior
Hybrid results are returned. Each of the two queries when run individually produce results and the hybrid query sometimes succeeds but more often than not fails.
Plugins
Using neural and KNN plugin. Currently have the security plugin disabled.
Screenshots
Create Index Request:
Create Normalization Processor (with path
_search/pipeline/nlp-search-pipeline
) :Sample Document:
Sample Query (with params
search_pipeline=nlp-search-pipeline
):Error Response:
Server error:
Host/Environment (please complete the following information):
Additional context
I did not see this error when testing with a single node local instance in docker but I'm seeing it consistently in the 3 node cluster in kubernetes.
The text was updated successfully, but these errors were encountered: