-
Notifications
You must be signed in to change notification settings - Fork 199
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
Fix map field's prefix not being set in marqo__field_types when partial updating + add api tests #1144
Fix map field's prefix not being set in marqo__field_types when partial updating + add api tests #1144
Conversation
…fields, adding new maps with docs resulted in map type issues & later didn't allow us to properly update maps in subsequent calls. Also added more robust testing where we are now testing the field_type metadata & running every test through 3 different docs
…n_uuid is updated everytime a map update happens.
mostly added more test cases and fixed logging in some existing ones
…n-uuid # Conflicts: # src/marqo/core/semi_structured_vespa_index/semi_structured_vespa_index.py # tests/integ_tests/core/document/test_partial_update_semi_structured.py
…maps concurrently
Reformating a testcase comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One issue with _assert_field_types. It verifies expected fields are found, but doesn't check for extra fields in the Vespa doc. You want to make sure the Vespa doc has all required field types and only those fields not more
Releases/2.16 branch version of this PR is approved and will be merged into mainline. Closing this PR in favor of that one: #1146 |
What is the current behavior? (You can also link to an open issue here)
wrt the bug - currently if a map is inserted via a partial update (it must not exist from before), the marqo__field_types will consist of int_map.key1, int_map.key2 but no int_map. This doesn't happen when inserting maps via add_docs and is critical to prevent type conversions.
What is the new behavior (if this is a feature change)?
if a map is inserted via a partial update (it must not exist from before), the marqo__field_types will consist of int_map.key1: int_map_entry, int_map.key2: int_map_entry & int_map: int_map_entry.
Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
No
Have unit tests been run against this PR? (Has there also been any additional testing?)
Yes
Related Python client changes (link commit/PR here)
NA
Related documentation changes (link commit/PR here)
Other information:
Please check if the PR fulfills these requirements