MutationState is not passed to C++ client for search operations
Description
Environment
None
Gerrit Reviews
None
Release Notes Description
None
Attachments
1
- 07 Jun 2023, 12:21 AM
Activity
Show:
Jared Casey June 8, 2023 at 2:54 PM
Search operations fixed to correctly pass MutationState.
Jared Casey June 7, 2023 at 12:20 AMEdited
From wireshark capture, we can see we are providing mutation_state to the C++ client now and it is in the request:
POST /api/index/test-search-index/query HTTP/1.1
host: localhost:8094
authorization: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==
client-context-id: 5e51b7-900b-c342-a44c-d60fe41659b93c
connection:
content-length: 170
content-type: application/json
user-agent: cxx/1.0.0/adc416d;Darwin/arm64; client/233f92-ed29-794e-f1be-a2a1fc3c98ee84; session/669e85-d92d-1441-f55a-d4ec378cbdcbb7; Darwin-22.5.0; pycbc/4.1.4.dev5+g820fee1a (python/3.9.7)
{"ctl":{"consistency":{"level":"at_plus","vectors":{"test-search-index":{"46/176475194776500":3}}},"timeout":75000},"explain":false,"query":{"term":"762bec7b"},"size":10}
Use filter:
http.request.uri contains "/api/index"
Fixed
Pinned fields
Click on the next to a field label to start pinning.
Created June 6, 2023 at 11:56 PM
Updated June 8, 2023 at 2:54 PM
Resolved June 8, 2023 at 2:54 PM
Instabug
When a search_query is executed we first create a SearchQueryBuilder that is responsible for creating all the "parts" necessary to execute a search. When we go to actually execute the search would distill all the parameters for the search query into a dict(). As a part of that process we are mistakenly filtering out mutation_state rending RYOW operations to not be able to work with search queries.