Details
-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
None
-
0
-
High
Description
Python performer raises an error when the value of k < 1 in vector search query options
Repo:
Pass K = 0 in VectorQuery options.
Python performer logs:
[executors.multi_thread_executor] [INFO] Started thread
|
[2024-02-06 17:35:09,707] [concurrent.futures] [ERROR] exception calling callback for <Future at 0x1063684d0 state=finished raised InvalidArgumentException> |
Traceback (most recent call last):
|
File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/_base.py", line 340, in _invoke_callbacks |
callback(self)
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/executors/multi_thread_executor.py", line 117, in _workloads_complete |
raise exc
|
File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run |
result = self.fn(*self.args, **self.kwargs)
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/executors/multi_thread_executor.py", line 112, in _execute_workloads |
raise e
|
File "/opt/homebrew/Cellar/python@3.11/3.11.7/Frameworks/Python.framework/Versions/3.11/lib/python3.11/concurrent/futures/thread.py", line 58, in run |
result = self.fn(*self.args, **self.kwargs)
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/executors/multi_thread_executor.py", line 43, in execute_workload |
workload.execute(results, global_lock, global_counter, stream_owner)
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/workloads/sdk_workload.py", line 38, in execute |
self.execute_command(cmd, executed_cmd_count, results, stream_owner)
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/workloads/sdk_workload.py", line 48, in execute_command |
sdk_command = SdkCommandBuilder.build_command(self._conn, command, executed_command_count)
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/commands/sdk_command_builder.py", line 44, in build_command |
return SearchCommandBuilder.build_command_v2(cluster_cmd.search_v2, **cmd_kwargs) |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/commands/search_commands.py", line 775, in build_command_v2 |
return SearchQueryCommand.create_v2_command(**cmd_kwargs) |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/commands/search_commands.py", line 514, in create_v2_command |
command.set_search_request()
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/transactions-fit-performer/performers/python/commands/search_commands.py", line 464, in set_search_request |
queries.append(VectorQuery.create(vq.vector_field_name, [v for v in vq.vector_query], **vq_opts)) |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/python-performer-venv/lib/python3.11/site-packages/couchbase/logic/vector_search.py", line 108, in create |
return cls(field_name, vector, num_candidates=num_candidates, boost=boost) |
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/python-performer-venv/lib/python3.11/site-packages/couchbase/logic/vector_search.py", line 48, in __init__ |
self.num_candidates = num_candidates
|
^^^^^^^^^^^^^^^^^^^
|
File "/Users/saurabhmishra/Desktop/work/gerrit/FIT/python-performer-venv/lib/python3.11/site-packages/couchbase/logic/vector_search.py", line 88, in num_candidates |
raise InvalidArgumentException('num_candidates must be >= 1.') |
couchbase.exceptions.InvalidArgumentException: InvalidArgumentException(<message=num_candidates must be >= 1.>) |