-
Notifications
You must be signed in to change notification settings - Fork 5
Multivector backwards compatibility test #292
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
base: main
Are you sure you want to change the base?
Conversation
… into multivector-version-compatibility-test
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.
Orca Security Scan Summary
| Status | Check | Issues by priority | |
|---|---|---|---|
| Infrastructure as Code | View in Orca | ||
| SAST | View in Orca | ||
| Secrets | View in Orca | ||
| Vulnerabilities | View in Orca |
🛡️ The following IaC misconfigurations have been detected
| NAME | FILE | ||
|---|---|---|---|
| Apt Get Install Pin Version Not Defined | ...atibility/Dockerfile | View in code | |
| APT-GET Not Avoiding Additional Packages | ...atibility/Dockerfile | View in code | |
| Apt Get Install Lists Were Not Deleted | ...atibility/Dockerfile | View in code |
|
To avoid any confusion in the future about your contribution to Weaviate, we work with a Contributor License Agreement. If you agree, you can simply add a comment to this PR that you agree with the CLA so that we can merge. |
| } | ||
|
|
||
|
|
||
| declare -a no_multivector_versions=( |
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.
On version 1.24.26, I get the error:
# Traceback (most recent call last):
# File "/workdir/verify_multivectors.py", line 43, in <module>
# assert len(normal_objects.objects) == 1, f"Expected 1 object in {NORMAL_VECTOR_COLLECTION_NAME}, got {len(normal_objects.objects)}"
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# AssertionError: Expected 1 object in Normalvector, got 0
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.
On version 1.25.29, I get the error:
# Traceback (most recent call last):
# File "/workdir/verify_multivectors.py", line 71, in <module>
# normal_results = normal_collection.query.near_vector(
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.11/site-packages/weaviate/syncify.py", line 23, in sync_method
# return _EventLoopSingleton.get_instance().run_until_complete(
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.11/site-packages/weaviate/event_loop.py", line 42, in run_until_complete
# return fut.result()
# ^^^^^^^^^^^^
# File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 456, in result
# return self.__get_result()
# ^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
# raise self._exception
# File "/usr/local/lib/python3.11/site-packages/weaviate/collections/queries/near_vector/query.py", line 92, in near_vector
# res = await self._query.near_vector(
# ^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.11/site-packages/weaviate/collections/grpc/query.py", line 248, in near_vector
# near_vector=self._parse_near_vector(
# ^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.11/site-packages/weaviate/collections/grpc/shared.py", line 376, in _parse_near_vector
# vector_per_target_tmp, near_vector_grpc = self._vector_per_target(
# ^^^^^^^^^^^^^^^^^^^^^^^^
# File "/usr/local/lib/python3.11/site-packages/weaviate/collections/grpc/shared.py", line 129, in _vector_per_target
# raise WeaviateInvalidInputError(
# weaviate.exceptions.WeaviateInvalidInputError: Invalid input provided: The number of target vectors must be equal to the number of vectors..
The point of this PR is to verify the behavior of Weaviate when rolling back after creating multivectors.
This PR adds a test which does the following for a couple past versions of Weaviate (
1.26-1.29):