Bump aiohttp from 3.13.3 to 3.13.4 in /sdks/python/container/ml/py312 #38037
11 fail, 8 skipped, 6 pass in 19m 31s
2 files 2 suites 19m 31s ⏱️
25 tests 6 ✅ 8 💤 11 ❌
33 runs 6 ✅ 16 💤 11 ❌
Results for commit e9217a4.
Annotations
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_invalid_write_on_missing_primary_key_in_entity (apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 15m 10s]
Raw output
Failed: Timeout (>600.0s) from pytest-timeout.
self = <apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig testMethod=test_invalid_write_on_missing_primary_key_in_entity>
def test_invalid_write_on_missing_primary_key_in_entity(self):
test_chunks = [
Chunk(
content=Content(text="Test content without ID"),
embedding=Embedding(
dense_embedding=[0.1, 0.2, 0.3],
sparse_embedding=([1, 2], [0.1, 0.2])),
metadata={"source": "test"})
]
write_config = MilvusWriteConfig(
collection_name=self._collection_name,
partition_name=self._partition_name,
write_config=WriteConfig(write_batch_size=1))
# Deliberately remove id primary key from the entity.
specs = MilvusVectorWriterConfig.default_column_specs()
for i, spec in enumerate(specs):
if spec.column_name == "id":
del specs[i]
break
config = MilvusVectorWriterConfig(
connection_params=self._connection_config,
write_config=write_config,
column_specs=specs)
# Write pipeline.
with self.assertRaises(Exception) as context:
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/ingestion/milvus_search_it_test.py:289:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:119: in run
result = super().run(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:606: in _run_internal
self._options).run(False)
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:630: in _run_internal
return self.runner.run_pipeline(self, self._options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/direct/direct_runner.py:214: in run_pipeline
pr = runner.run_pipeline(pipeline, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/runner.py:180: in run_pipeline
return self.run_portable_pipeline(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:377: in run_portable_pipeline
job_service_handle = self.create_job_service(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:291: in create_job_service
return self.create_job_service_handle(server.start(), options)
^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:88: in start
self._endpoint = self._job_server.start()
^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:114: in start
cmd, endpoint = self.subprocess_cmd_and_endpoint()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:485: in subprocess_cmd_and_endpoint
bin_path = self._get_executable_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:468: in _get_executable_path
source = self._resolve_source_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:464: in _resolve_source_path
return self._install_from_source(self._version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:394: in _install_from_source
process = subprocess.run(["go", "install", PRISMPKG],
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:556: in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:1209: in communicate
stdout = self.stdout.read()
^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pytest_timeout.py:317: in handler
timeout_sigalrm(item, settings)
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pytest_timeout.py:502: in timeout_sigalrm
pytest.fail(PYTEST_FAILURE_MESSAGE % settings.timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@_with_exception(Failed)
def fail(reason: str = "", pytrace: bool = True) -> NoReturn:
"""Explicitly fail an executing test with the given message.
:param reason:
The message to show the user as reason for the failure.
:param pytrace:
If False, msg represents the full failure information and no
python traceback will be reported.
:raises pytest.fail.Exception:
The exception that is raised.
"""
__tracebackhide__ = True
> raise Failed(msg=reason, pytrace=pytrace)
E Failed: Timeout (>600.0s) from pytest-timeout.
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/_pytest/outcomes.py:177: Failed
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_keyword_search_with_inner_product_sparse_embedding (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 15m 0s]
Raw output
Failed: Timeout (>600.0s) from pytest-timeout.
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_keyword_search_with_inner_product_sparse_embedding>
def test_keyword_search_with_inner_product_sparse_embedding(self):
test_chunks = [
Chunk(
id="query1",
embedding=Embedding(
sparse_embedding=([1, 2, 3, 4], [0.05, 0.41, 0.05, 0.41])),
content=Content())
]
anns_field = "sparse_embedding_inner_product"
addition_search_params = {
"metric_type": VectorSearchMetrics.INNER_PRODUCT.value,
}
keyword_search_parameters = KeywordSearchParameters(
anns_field=anns_field, limit=3, search_params=addition_search_params)
search_parameters = MilvusSearchParameters(
collection_name=MILVUS_IT_CONFIG["collection_name"],
search_strategy=keyword_search_parameters,
output_fields=["id", "content", "metadata"],
round_decimal=1)
collection_load_parameters = MilvusCollectionLoadParameters()
handler = MilvusSearchEnrichmentHandler(
connection_parameters=self._connection_params,
search_parameters=search_parameters,
collection_load_parameters=collection_load_parameters)
expected_chunks = [
Chunk(
id='query1',
content=Content(),
metadata={
'enrichment_data': {
'id': [1, 2],
'distance': [0.3, 0.2],
'fields': [{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
},
{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
}]
}
},
embedding=Embedding(
sparse_embedding=([1, 2, 3, 4], [0.05, 0.41, 0.05, 0.41])))
]
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:911:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:119: in run
result = super().run(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:606: in _run_internal
self._options).run(False)
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:630: in _run_internal
return self.runner.run_pipeline(self, self._options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/direct/direct_runner.py:214: in run_pipeline
pr = runner.run_pipeline(pipeline, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/runner.py:180: in run_pipeline
return self.run_portable_pipeline(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:377: in run_portable_pipeline
job_service_handle = self.create_job_service(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:291: in create_job_service
return self.create_job_service_handle(server.start(), options)
^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:88: in start
self._endpoint = self._job_server.start()
^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:114: in start
cmd, endpoint = self.subprocess_cmd_and_endpoint()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:485: in subprocess_cmd_and_endpoint
bin_path = self._get_executable_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:468: in _get_executable_path
source = self._resolve_source_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:464: in _resolve_source_path
return self._install_from_source(self._version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:394: in _install_from_source
process = subprocess.run(["go", "install", PRISMPKG],
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:556: in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Popen: returncode: -9 args: ['go', 'install', 'github.com/apache/beam/sdks/...>
input = None, timeout = None
def communicate(self, input=None, timeout=None):
"""Interact with process: Send data to stdin and close it.
Read data from stdout and stderr, until end-of-file is
reached. Wait for process to terminate.
The optional "input" argument should be data to be sent to the
child process, or None, if no data should be sent to the child.
communicate() returns a tuple (stdout, stderr).
By default, all communication is in bytes, and therefore any
"input" should be bytes, and the (stdout, stderr) will be bytes.
If in text mode (indicated by self.text_mode), any "input" should
be a string, and (stdout, stderr) will be strings decoded
according to locale encoding, or by "encoding" if set. Text mode
is triggered by setting any of text, encoding, errors or
universal_newlines.
"""
if self._communication_started and input:
raise ValueError("Cannot send input after starting communication")
# Optimization: If we are not worried about timeouts, we haven't
# started communicating, and we have one or zero pipes, using select()
# or threads is unnecessary.
if (timeout is None and not self._communication_started and
[self.stdin, self.stdout, self.stderr].count(None) >= 2):
stdout = None
stderr = None
if self.stdin:
self._stdin_write(input)
elif self.stdout:
> stdout = self.stdout.read()
^^^^^^^^^^^^^^^^^^
E Failed: Timeout (>600.0s) from pytest-timeout.
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:1209: Failed
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_filtered_search_with_cosine_similarity_and_batching (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 15m 0s]
Raw output
Failed: Timeout (>600.0s) from pytest-timeout.
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_filtered_search_with_cosine_similarity_and_batching>
def test_filtered_search_with_cosine_similarity_and_batching(self):
test_chunks = [
Chunk(
id="query1",
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3]),
content=Content()),
Chunk(
id="query2",
embedding=Embedding(dense_embedding=[0.2, 0.3, 0.4]),
content=Content()),
Chunk(
id="query3",
embedding=Embedding(dense_embedding=[0.3, 0.4, 0.5]),
content=Content())
]
filter_condition = 'metadata["language"] == "en"'
anns_field = "dense_embedding_cosine"
addition_search_params = {
"metric_type": VectorSearchMetrics.COSINE.value, "nprobe": 1
}
vector_search_parameters = VectorSearchParameters(
anns_field=anns_field,
limit=10,
filter=filter_condition,
search_params=addition_search_params)
search_parameters = MilvusSearchParameters(
collection_name=MILVUS_IT_CONFIG["collection_name"],
search_strategy=vector_search_parameters,
output_fields=["id", "content", "metadata"],
round_decimal=1)
collection_load_parameters = MilvusCollectionLoadParameters()
# Force batching.
min_batch_size, max_batch_size = 2, 2
handler = MilvusSearchEnrichmentHandler(
connection_parameters=self._connection_params,
search_parameters=search_parameters,
collection_load_parameters=collection_load_parameters,
min_batch_size=min_batch_size,
max_batch_size=max_batch_size)
expected_chunks = [
Chunk(
id='query1',
content=Content(),
metadata={
'enrichment_data': {
'id': [1, 2],
'distance': [1.0, 1.0],
'fields': [{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
},
{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
}]
}
},
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3])),
Chunk(
id='query2',
content=Content(),
metadata={
'enrichment_data': {
'id': [2, 1],
'distance': [1.0, 1.0],
'fields': [{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.2, 0.3, 0.4])),
Chunk(
id='query3',
content=Content(),
metadata={
'enrichment_data': {
'id': [2, 1],
'distance': [1.0, 1.0],
'fields': [{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.3, 0.4, 0.5]))
]
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:460:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:119: in run
result = super().run(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:606: in _run_internal
self._options).run(False)
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:630: in _run_internal
return self.runner.run_pipeline(self, self._options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/direct/direct_runner.py:214: in run_pipeline
pr = runner.run_pipeline(pipeline, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/runner.py:180: in run_pipeline
return self.run_portable_pipeline(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:377: in run_portable_pipeline
job_service_handle = self.create_job_service(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:291: in create_job_service
return self.create_job_service_handle(server.start(), options)
^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:88: in start
self._endpoint = self._job_server.start()
^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:114: in start
cmd, endpoint = self.subprocess_cmd_and_endpoint()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:485: in subprocess_cmd_and_endpoint
bin_path = self._get_executable_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:468: in _get_executable_path
source = self._resolve_source_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:464: in _resolve_source_path
return self._install_from_source(self._version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:394: in _install_from_source
process = subprocess.run(["go", "install", PRISMPKG],
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:556: in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Popen: returncode: -9 args: ['go', 'install', 'github.com/apache/beam/sdks/...>
input = None, timeout = None
def communicate(self, input=None, timeout=None):
"""Interact with process: Send data to stdin and close it.
Read data from stdout and stderr, until end-of-file is
reached. Wait for process to terminate.
The optional "input" argument should be data to be sent to the
child process, or None, if no data should be sent to the child.
communicate() returns a tuple (stdout, stderr).
By default, all communication is in bytes, and therefore any
"input" should be bytes, and the (stdout, stderr) will be bytes.
If in text mode (indicated by self.text_mode), any "input" should
be a string, and (stdout, stderr) will be strings decoded
according to locale encoding, or by "encoding" if set. Text mode
is triggered by setting any of text, encoding, errors or
universal_newlines.
"""
if self._communication_started and input:
raise ValueError("Cannot send input after starting communication")
# Optimization: If we are not worried about timeouts, we haven't
# started communicating, and we have one or zero pipes, using select()
# or threads is unnecessary.
if (timeout is None and not self._communication_started and
[self.stdin, self.stdout, self.stderr].count(None) >= 2):
stdout = None
stderr = None
if self.stdin:
self._stdin_write(input)
elif self.stdout:
> stdout = self.stdout.read()
^^^^^^^^^^^^^^^^^^
E Failed: Timeout (>600.0s) from pytest-timeout.
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:1209: Failed
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_invalid_query_on_non_existent_collection (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 15m 0s]
Raw output
Failed: Timeout (>600.0s) from pytest-timeout.
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_invalid_query_on_non_existent_collection>
def test_invalid_query_on_non_existent_collection(self):
non_existent_collection = "nonexistent_collection"
existent_field = "dense_embedding_cosine"
test_chunks = [
Chunk(
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3]),
content=Content())
]
search_parameters = MilvusSearchParameters(
collection_name=non_existent_collection,
search_strategy=VectorSearchParameters(anns_field=existent_field))
collection_load_parameters = MilvusCollectionLoadParameters()
handler = MilvusSearchEnrichmentHandler(
self._connection_params,
search_parameters,
collection_load_parameters=collection_load_parameters)
with self.assertRaises(Exception) as context:
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:281:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:119: in run
result = super().run(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:606: in _run_internal
self._options).run(False)
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:630: in _run_internal
return self.runner.run_pipeline(self, self._options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/direct/direct_runner.py:214: in run_pipeline
pr = runner.run_pipeline(pipeline, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/runner.py:180: in run_pipeline
return self.run_portable_pipeline(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:377: in run_portable_pipeline
job_service_handle = self.create_job_service(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:291: in create_job_service
return self.create_job_service_handle(server.start(), options)
^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:88: in start
self._endpoint = self._job_server.start()
^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:114: in start
cmd, endpoint = self.subprocess_cmd_and_endpoint()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:485: in subprocess_cmd_and_endpoint
bin_path = self._get_executable_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:468: in _get_executable_path
source = self._resolve_source_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:464: in _resolve_source_path
return self._install_from_source(self._version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:394: in _install_from_source
process = subprocess.run(["go", "install", PRISMPKG],
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:556: in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:1209: in communicate
stdout = self.stdout.read()
^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pytest_timeout.py:317: in handler
timeout_sigalrm(item, settings)
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pytest_timeout.py:502: in timeout_sigalrm
pytest.fail(PYTEST_FAILURE_MESSAGE % settings.timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
@_with_exception(Failed)
def fail(reason: str = "", pytrace: bool = True) -> NoReturn:
"""Explicitly fail an executing test with the given message.
:param reason:
The message to show the user as reason for the failure.
:param pytrace:
If False, msg represents the full failure information and no
python traceback will be reported.
:raises pytest.fail.Exception:
The exception that is raised.
"""
__tracebackhide__ = True
> raise Failed(msg=reason, pytrace=pytrace)
E Failed: Timeout (>600.0s) from pytest-timeout.
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/_pytest/outcomes.py:177: Failed
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_vector_search_with_inner_product_similarity (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 15m 3s]
Raw output
Failed: Timeout (>600.0s) from pytest-timeout.
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_vector_search_with_inner_product_similarity>
def test_vector_search_with_inner_product_similarity(self):
test_chunks = [
Chunk(
id="query1",
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3]),
content=Content()),
Chunk(
id="query2",
embedding=Embedding(dense_embedding=[0.2, 0.3, 0.4]),
content=Content()),
Chunk(
id="query3",
embedding=Embedding(dense_embedding=[0.3, 0.4, 0.5]),
content=Content())
]
anns_field = "dense_embedding_inner_product"
addition_search_params = {
"metric_type": VectorSearchMetrics.INNER_PRODUCT.value, "nprobe": 1
}
vector_search_parameters = VectorSearchParameters(
anns_field=anns_field, limit=10, search_params=addition_search_params)
search_parameters = MilvusSearchParameters(
collection_name=MILVUS_IT_CONFIG["collection_name"],
search_strategy=vector_search_parameters,
output_fields=["id", "content", "metadata"],
round_decimal=1)
collection_load_parameters = MilvusCollectionLoadParameters()
handler = MilvusSearchEnrichmentHandler(
connection_parameters=self._connection_params,
search_parameters=search_parameters,
collection_load_parameters=collection_load_parameters)
expected_chunks = [
Chunk(
id='query1',
content=Content(),
metadata={
'enrichment_data': {
'id': [3, 2, 1],
'distance': [0.3, 0.2, 0.1],
'fields': [{
'content': 'وثيقة اختبار',
'metadata': {
'language': 'ar'
},
'id': 3
},
{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3])),
Chunk(
id='query2',
content=Content(),
metadata={
'enrichment_data': {
'id': [3, 2, 1],
'distance': [0.4, 0.3, 0.2],
'fields': [{
'content': 'وثيقة اختبار',
'metadata': {
'language': 'ar'
},
'id': 3
},
{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.2, 0.3, 0.4])),
Chunk(
id='query3',
content=Content(),
metadata={
'enrichment_data': {
'id': [3, 2, 1],
'distance': [0.5, 0.4, 0.3],
'fields': [{
'content': 'وثيقة اختبار',
'metadata': {
'language': 'ar'
},
'id': 3
},
{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.3, 0.4, 0.5]))
]
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:846:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:119: in run
result = super().run(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:606: in _run_internal
self._options).run(False)
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:630: in _run_internal
return self.runner.run_pipeline(self, self._options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/direct/direct_runner.py:214: in run_pipeline
pr = runner.run_pipeline(pipeline, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/runner.py:180: in run_pipeline
return self.run_portable_pipeline(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:377: in run_portable_pipeline
job_service_handle = self.create_job_service(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:291: in create_job_service
return self.create_job_service_handle(server.start(), options)
^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:88: in start
self._endpoint = self._job_server.start()
^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:114: in start
cmd, endpoint = self.subprocess_cmd_and_endpoint()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:485: in subprocess_cmd_and_endpoint
bin_path = self._get_executable_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:468: in _get_executable_path
source = self._resolve_source_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:464: in _resolve_source_path
return self._install_from_source(self._version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:394: in _install_from_source
process = subprocess.run(["go", "install", PRISMPKG],
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:556: in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Popen: returncode: -9 args: ['go', 'install', 'github.com/apache/beam/sdks/...>
input = None, timeout = None
def communicate(self, input=None, timeout=None):
"""Interact with process: Send data to stdin and close it.
Read data from stdout and stderr, until end-of-file is
reached. Wait for process to terminate.
The optional "input" argument should be data to be sent to the
child process, or None, if no data should be sent to the child.
communicate() returns a tuple (stdout, stderr).
By default, all communication is in bytes, and therefore any
"input" should be bytes, and the (stdout, stderr) will be bytes.
If in text mode (indicated by self.text_mode), any "input" should
be a string, and (stdout, stderr) will be strings decoded
according to locale encoding, or by "encoding" if set. Text mode
is triggered by setting any of text, encoding, errors or
universal_newlines.
"""
if self._communication_started and input:
raise ValueError("Cannot send input after starting communication")
# Optimization: If we are not worried about timeouts, we haven't
# started communicating, and we have one or zero pipes, using select()
# or threads is unnecessary.
if (timeout is None and not self._communication_started and
[self.stdin, self.stdout, self.stderr].count(None) >= 2):
stdout = None
stderr = None
if self.stdin:
self._stdin_write(input)
elif self.stdout:
> stdout = self.stdout.read()
^^^^^^^^^^^^^^^^^^
E Failed: Timeout (>600.0s) from pytest-timeout.
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:1209: Failed
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_empty_input_chunks (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 15m 0s]
Raw output
Failed: Timeout (>600.0s) from pytest-timeout.
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_empty_input_chunks>
def test_empty_input_chunks(self):
test_chunks = []
anns_field = "dense_embedding_cosine"
search_parameters = MilvusSearchParameters(
collection_name=MILVUS_IT_CONFIG["collection_name"],
search_strategy=VectorSearchParameters(anns_field=anns_field))
collection_load_parameters = MilvusCollectionLoadParameters()
handler = MilvusSearchEnrichmentHandler(
self._connection_params,
search_parameters,
collection_load_parameters=collection_load_parameters)
expected_chunks = []
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:332:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:119: in run
result = super().run(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:606: in _run_internal
self._options).run(False)
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:564: in run
return self._run_internal(test_runner_api)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:630: in _run_internal
return self.runner.run_pipeline(self, self._options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/direct/direct_runner.py:214: in run_pipeline
pr = runner.run_pipeline(pipeline, options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/runner.py:180: in run_pipeline
return self.run_portable_pipeline(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:377: in run_portable_pipeline
job_service_handle = self.create_job_service(options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:291: in create_job_service
return self.create_job_service_handle(server.start(), options)
^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:88: in start
self._endpoint = self._job_server.start()
^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/job_server.py:114: in start
cmd, endpoint = self.subprocess_cmd_and_endpoint()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:485: in subprocess_cmd_and_endpoint
bin_path = self._get_executable_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:468: in _get_executable_path
source = self._resolve_source_path()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:464: in _resolve_source_path
return self._install_from_source(self._version)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/prism_runner.py:394: in _install_from_source
process = subprocess.run(["go", "install", PRISMPKG],
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:556: in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <Popen: returncode: -9 args: ['go', 'install', 'github.com/apache/beam/sdks/...>
input = None, timeout = None
def communicate(self, input=None, timeout=None):
"""Interact with process: Send data to stdin and close it.
Read data from stdout and stderr, until end-of-file is
reached. Wait for process to terminate.
The optional "input" argument should be data to be sent to the
child process, or None, if no data should be sent to the child.
communicate() returns a tuple (stdout, stderr).
By default, all communication is in bytes, and therefore any
"input" should be bytes, and the (stdout, stderr) will be bytes.
If in text mode (indicated by self.text_mode), any "input" should
be a string, and (stdout, stderr) will be strings decoded
according to locale encoding, or by "encoding" if set. Text mode
is triggered by setting any of text, encoding, errors or
universal_newlines.
"""
if self._communication_started and input:
raise ValueError("Cannot send input after starting communication")
# Optimization: If we are not worried about timeouts, we haven't
# started communicating, and we have one or zero pipes, using select()
# or threads is unnecessary.
if (timeout is None and not self._communication_started and
[self.stdin, self.stdout, self.stderr].count(None) >= 2):
stdout = None
stderr = None
if self.stdin:
self._stdin_write(input)
elif self.stdout:
> stdout = self.stdout.read()
^^^^^^^^^^^^^^^^^^
E Failed: Timeout (>600.0s) from pytest-timeout.
/opt/hostedtoolcache/Python/3.13.12/x64/lib/python3.13/subprocess.py:1209: Failed
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_hybrid_search (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 1m 43s]
Raw output
RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst002 stage-003 failed:Traceback (most recent call last):
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready
grpc.channel_ready_future(self._channel).result(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result
self._block(timeout)
~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block
raise grpc.FutureTimeoutError()
grpc.FutureTimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
lifecycle_method()
File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
self.signature.setup_lifecycle_method.method_value()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
self._caller.__enter__()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
self._client = retry_with_backoff(
~~~~~~~~~~~~~~~~~~^
connect_and_load,
^^^^^^^^^^^^^^^^^
...<3 lines>...
operation_name="Milvus connection and collection load",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
exception_types=(MilvusException, ))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
raise last_exception
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
result = operation()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
client = MilvusClient(**connection_params)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
self._handler = self._manager.get_or_create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._config,
^^^^^^^^^^^^^
...<2 lines>...
timeout=timeout,
^^^^^^^^^^^^^^^^
)
^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
self._recover(managed)
~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
managed.handler.reconnect(address=new_address)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
self._wait_for_channel_ready(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
raise MilvusException(
...<2 lines>...
) from e
pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:46207, illegal connection params or server unavailable)>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
response = task()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
lambda: self.create_worker().do_instruction(request), request)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
return getattr(self, request_type)(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
getattr(request, request_type), request.instruction_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle
bundle_processor = self.bundle_processor_cache.get(
instruction_id, request.process_bundle_descriptor_id)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get
processor = bundle_processor.BundleProcessor(
self.runner_capabilities,
...<3 lines>...
self.data_channel_factory,
self.data_sampler)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__
op.setup(self.data_sampler)
~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup
with self.scoped_start_state:
File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup
self.dofn_runner.setup()
File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup
self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)
File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
self._reraise_augmented(exn)
File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
raise new_exn
File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
lifecycle_method()
File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
self.signature.setup_lifecycle_method.method_value()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
self._caller.__enter__()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
self._client = retry_with_backoff(
~~~~~~~~~~~~~~~~~~^
connect_and_load,
^^^^^^^^^^^^^^^^^
...<3 lines>...
operation_name="Milvus connection and collection load",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
exception_types=(MilvusException, ))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
raise last_exception
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
result = operation()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
client = MilvusClient(**connection_params)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
self._handler = self._manager.get_or_create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._config,
^^^^^^^^^^^^^
...<2 lines>...
timeout=timeout,
^^^^^^^^^^^^^^^^
)
^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
self._recover(managed)
~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
managed.handler.reconnect(address=new_address)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
self._wait_for_channel_ready(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
raise MilvusException(
...<2 lines>...
) from e
RuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:46207, illegal connection params or server unavailable)> [while running 'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)']
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_hybrid_search>
def test_hybrid_search(self):
test_chunks = [
Chunk(
id="query1",
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3]),
content=Content(text="This is a test document"))
]
anns_vector_field = "dense_embedding_cosine"
addition_vector_search_params = {
"metric_type": VectorSearchMetrics.COSINE.value, "nprobe": 1
}
vector_search_parameters = VectorSearchParameters(
anns_field=anns_vector_field,
limit=10,
search_params=addition_vector_search_params)
anns_keyword_field = "sparse_embedding_bm25"
addition_keyword_search_params = {
"metric_type": KeywordSearchMetrics.BM25.value
}
keyword_search_parameters = KeywordSearchParameters(
anns_field=anns_keyword_field,
limit=10,
search_params=addition_keyword_search_params)
hybrid_search_parameters = HybridSearchParameters(
vector=vector_search_parameters,
keyword=keyword_search_parameters,
ranker=RRFRanker(1),
limit=1)
search_parameters = MilvusSearchParameters(
collection_name=MILVUS_IT_CONFIG["collection_name"],
search_strategy=hybrid_search_parameters,
output_fields=["id", "content", "metadata"],
round_decimal=1)
collection_load_parameters = MilvusCollectionLoadParameters()
handler = MilvusSearchEnrichmentHandler(
connection_parameters=self._connection_params,
search_parameters=search_parameters,
collection_load_parameters=collection_load_parameters)
expected_chunks = [
Chunk(
content=Content(text='This is a test document'),
id='query1',
metadata={
'enrichment_data': {
'id': [1],
'distance': [1.0],
'fields': [{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3]))
]
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:984:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:123: in run
state = result.wait_until_finish(duration=self.timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <apache_beam.runners.portability.portable_runner.PipelineResult object at 0x7f9d2024e3c0>
duration = None
def wait_until_finish(self, duration=None):
"""
:param duration: The maximum time in milliseconds to wait for the result of
the execution. If None or zero, will wait until the pipeline finishes.
:return: The result of the pipeline, i.e. PipelineResult.
"""
last_error_text = None
def read_messages() -> None:
nonlocal last_error_text
previous_state = -1
for message in self._message_stream:
if message.HasField('message_response'):
mr = message.message_response
logging.log(MESSAGE_LOG_LEVELS[mr.importance], "%s", mr.message_text)
if mr.importance == beam_job_api_pb2.JobMessage.JOB_MESSAGE_ERROR:
last_error_text = mr.message_text
else:
current_state = message.state_response.state
if current_state != previous_state:
_LOGGER.info(
"Job state changed to %s",
self.runner_api_state_to_pipeline_state(current_state))
previous_state = current_state
self._messages.append(message)
message_thread = threading.Thread(
target=read_messages, name='wait_until_finish_read')
message_thread.daemon = True
message_thread.start()
if duration:
state_thread = threading.Thread(
target=functools.partial(self._observe_state, message_thread),
name='wait_until_finish_state_observer')
state_thread.daemon = True
state_thread.start()
start_time = time.time()
duration_secs = duration / 1000
while (time.time() - start_time < duration_secs and
state_thread.is_alive()):
time.sleep(1)
else:
self._observe_state(message_thread)
if self._runtime_exception:
> raise self._runtime_exception
E RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst002 stage-003 failed:Traceback (most recent call last):
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready
E grpc.channel_ready_future(self._channel).result(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result
E self._block(timeout)
E ~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block
E raise grpc.FutureTimeoutError()
E grpc.FutureTimeoutError
E
E The above exception was the direct cause of the following exception:
E
E Traceback (most recent call last):
E File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E lifecycle_method()
E File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
E self.signature.setup_lifecycle_method.method_value()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
E self._caller.__enter__()
E ~~~~~~~~~~~~~~~~~~~~~~^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
E self._client = retry_with_backoff(
E ~~~~~~~~~~~~~~~~~~^
E connect_and_load,
E ^^^^^^^^^^^^^^^^^
E ...<3 lines>...
E operation_name="Milvus connection and collection load",
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E exception_types=(MilvusException, ))
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
E raise last_exception
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
E result = operation()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
E client = MilvusClient(**connection_params)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
E self._handler = self._manager.get_or_create(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E self._config,
E ^^^^^^^^^^^^^
E ...<2 lines>...
E timeout=timeout,
E ^^^^^^^^^^^^^^^^
E )
E ^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
E self._recover(managed)
E ~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
E managed.handler.reconnect(address=new_address)
E ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
E self._wait_for_channel_ready(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
E raise MilvusException(
E ...<2 lines>...
E ) from e
E pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:46207, illegal connection params or server unavailable)>
E
E During handling of the above exception, another exception occurred:
E
E Traceback (most recent call last):
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
E response = task()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
E lambda: self.create_worker().do_instruction(request), request)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
E return getattr(self, request_type)(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E getattr(request, request_type), request.instruction_id)
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle
E bundle_processor = self.bundle_processor_cache.get(
E instruction_id, request.process_bundle_descriptor_id)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get
E processor = bundle_processor.BundleProcessor(
E self.runner_capabilities,
E ...<3 lines>...
E self.data_channel_factory,
E self.data_sampler)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__
E op.setup(self.data_sampler)
E ~~~~~~~~^^^^^^^^^^^^^^^^^^^
E File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup
E with self.scoped_start_state:
E File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup
E self.dofn_runner.setup()
E File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup
E self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)
E File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E self._reraise_augmented(exn)
E File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E raise new_exn
E File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E lifecycle_method()
E File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
E self.signature.setup_lifecycle_method.method_value()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
E self._caller.__enter__()
E ~~~~~~~~~~~~~~~~~~~~~~^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
E self._client = retry_with_backoff(
E ~~~~~~~~~~~~~~~~~~^
E connect_and_load,
E ^^^^^^^^^^^^^^^^^
E ...<3 lines>...
E operation_name="Milvus connection and collection load",
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E exception_types=(MilvusException, ))
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
E raise last_exception
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
E result = operation()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
E client = MilvusClient(**connection_params)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
E self._handler = self._manager.get_or_create(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E self._config,
E ^^^^^^^^^^^^^
E ...<2 lines>...
E timeout=timeout,
E ^^^^^^^^^^^^^^^^
E )
E ^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
E self._recover(managed)
E ~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
E managed.handler.reconnect(address=new_address)
E ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
E self._wait_for_channel_ready(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
E raise MilvusException(
E ...<2 lines>...
E ) from e
E RuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:46207, illegal connection params or server unavailable)> [while running 'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)']
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:574: RuntimeError
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_filtered_search_with_bm25_full_text_and_batching (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 1m 43s]
Raw output
RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready
grpc.channel_ready_future(self._channel).result(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result
self._block(timeout)
~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block
raise grpc.FutureTimeoutError()
grpc.FutureTimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
lifecycle_method()
File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
self.signature.setup_lifecycle_method.method_value()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
self._caller.__enter__()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
self._client = retry_with_backoff(
~~~~~~~~~~~~~~~~~~^
connect_and_load,
^^^^^^^^^^^^^^^^^
...<3 lines>...
operation_name="Milvus connection and collection load",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
exception_types=(MilvusException, ))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
raise last_exception
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
result = operation()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
client = MilvusClient(**connection_params)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
self._handler = self._manager.get_or_create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._config,
^^^^^^^^^^^^^
...<2 lines>...
timeout=timeout,
^^^^^^^^^^^^^^^^
)
^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
self._recover(managed)
~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
managed.handler.reconnect(address=new_address)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
self._wait_for_channel_ready(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
raise MilvusException(
...<2 lines>...
) from e
pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:49485, illegal connection params or server unavailable)>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
response = task()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
lambda: self.create_worker().do_instruction(request), request)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
return getattr(self, request_type)(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
getattr(request, request_type), request.instruction_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle
bundle_processor = self.bundle_processor_cache.get(
instruction_id, request.process_bundle_descriptor_id)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get
processor = bundle_processor.BundleProcessor(
self.runner_capabilities,
...<3 lines>...
self.data_channel_factory,
self.data_sampler)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__
op.setup(self.data_sampler)
~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup
with self.scoped_start_state:
File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup
self.dofn_runner.setup()
File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup
self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)
File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
self._reraise_augmented(exn)
File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
raise new_exn
File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
lifecycle_method()
File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
self.signature.setup_lifecycle_method.method_value()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
self._caller.__enter__()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
self._client = retry_with_backoff(
~~~~~~~~~~~~~~~~~~^
connect_and_load,
^^^^^^^^^^^^^^^^^
...<3 lines>...
operation_name="Milvus connection and collection load",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
exception_types=(MilvusException, ))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
raise last_exception
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
result = operation()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
client = MilvusClient(**connection_params)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
self._handler = self._manager.get_or_create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._config,
^^^^^^^^^^^^^
...<2 lines>...
timeout=timeout,
^^^^^^^^^^^^^^^^
)
^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
self._recover(managed)
~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
managed.handler.reconnect(address=new_address)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
self._wait_for_channel_ready(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
raise MilvusException(
...<2 lines>...
) from e
RuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:49485, illegal connection params or server unavailable)> [while running 'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)']
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_filtered_search_with_bm25_full_text_and_batching>
def test_filtered_search_with_bm25_full_text_and_batching(self):
test_chunks = [
Chunk(
id="query1",
embedding=Embedding(sparse_embedding=None),
content=Content(text="This is a test document")),
Chunk(
id="query2",
embedding=Embedding(sparse_embedding=None),
content=Content(text="Another test document")),
Chunk(
id="query3",
embedding=Embedding(sparse_embedding=None),
content=Content(text="وثيقة اختبار"))
]
filter_condition = 'ARRAY_CONTAINS_ANY(tags, ["healthcare", "banking"])'
anns_field = "sparse_embedding_bm25"
addition_search_params = {"metric_type": KeywordSearchMetrics.BM25.value}
keyword_search_parameters = KeywordSearchParameters(
anns_field=anns_field,
limit=10,
filter=filter_condition,
search_params=addition_search_params)
search_parameters = MilvusSearchParameters(
collection_name=MILVUS_IT_CONFIG["collection_name"],
search_strategy=keyword_search_parameters,
output_fields=["id", "content", "metadata"],
round_decimal=1)
collection_load_parameters = MilvusCollectionLoadParameters()
# Force batching.
min_batch_size, max_batch_size = 2, 2
handler = MilvusSearchEnrichmentHandler(
connection_parameters=self._connection_params,
search_parameters=search_parameters,
collection_load_parameters=collection_load_parameters,
min_batch_size=min_batch_size,
max_batch_size=max_batch_size)
expected_chunks = [
Chunk(
id='query1',
content=Content(text='This is a test document'),
metadata={
'enrichment_data': {
'id': [1],
'distance': [3.3],
'fields': [{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding()),
Chunk(
id='query2',
content=Content(text='Another test document'),
metadata={
'enrichment_data': {
'id': [1],
'distance': [0.8],
'fields': [{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding()),
Chunk(
id='query3',
content=Content(text='وثيقة اختبار'),
metadata={
'enrichment_data': {
'id': [3],
'distance': [2.3],
'fields': [{
'content': 'وثيقة اختبار',
'metadata': {
'language': 'ar'
},
'id': 3
}]
}
},
embedding=Embedding())
]
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:565:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:123: in run
state = result.wait_until_finish(duration=self.timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <apache_beam.runners.portability.portable_runner.PipelineResult object at 0x7f4cf0de2120>
duration = None
def wait_until_finish(self, duration=None):
"""
:param duration: The maximum time in milliseconds to wait for the result of
the execution. If None or zero, will wait until the pipeline finishes.
:return: The result of the pipeline, i.e. PipelineResult.
"""
last_error_text = None
def read_messages() -> None:
nonlocal last_error_text
previous_state = -1
for message in self._message_stream:
if message.HasField('message_response'):
mr = message.message_response
logging.log(MESSAGE_LOG_LEVELS[mr.importance], "%s", mr.message_text)
if mr.importance == beam_job_api_pb2.JobMessage.JOB_MESSAGE_ERROR:
last_error_text = mr.message_text
else:
current_state = message.state_response.state
if current_state != previous_state:
_LOGGER.info(
"Job state changed to %s",
self.runner_api_state_to_pipeline_state(current_state))
previous_state = current_state
self._messages.append(message)
message_thread = threading.Thread(
target=read_messages, name='wait_until_finish_read')
message_thread.daemon = True
message_thread.start()
if duration:
state_thread = threading.Thread(
target=functools.partial(self._observe_state, message_thread),
name='wait_until_finish_state_observer')
state_thread.daemon = True
state_thread.start()
start_time = time.time()
duration_secs = duration / 1000
while (time.time() - start_time < duration_secs and
state_thread.is_alive()):
time.sleep(1)
else:
self._observe_state(message_thread)
if self._runtime_exception:
> raise self._runtime_exception
E RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready
E grpc.channel_ready_future(self._channel).result(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result
E self._block(timeout)
E ~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block
E raise grpc.FutureTimeoutError()
E grpc.FutureTimeoutError
E
E The above exception was the direct cause of the following exception:
E
E Traceback (most recent call last):
E File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E lifecycle_method()
E File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
E self.signature.setup_lifecycle_method.method_value()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
E self._caller.__enter__()
E ~~~~~~~~~~~~~~~~~~~~~~^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
E self._client = retry_with_backoff(
E ~~~~~~~~~~~~~~~~~~^
E connect_and_load,
E ^^^^^^^^^^^^^^^^^
E ...<3 lines>...
E operation_name="Milvus connection and collection load",
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E exception_types=(MilvusException, ))
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
E raise last_exception
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
E result = operation()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
E client = MilvusClient(**connection_params)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
E self._handler = self._manager.get_or_create(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E self._config,
E ^^^^^^^^^^^^^
E ...<2 lines>...
E timeout=timeout,
E ^^^^^^^^^^^^^^^^
E )
E ^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
E self._recover(managed)
E ~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
E managed.handler.reconnect(address=new_address)
E ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
E self._wait_for_channel_ready(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
E raise MilvusException(
E ...<2 lines>...
E ) from e
E pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:49485, illegal connection params or server unavailable)>
E
E During handling of the above exception, another exception occurred:
E
E Traceback (most recent call last):
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
E response = task()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
E lambda: self.create_worker().do_instruction(request), request)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
E return getattr(self, request_type)(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E getattr(request, request_type), request.instruction_id)
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle
E bundle_processor = self.bundle_processor_cache.get(
E instruction_id, request.process_bundle_descriptor_id)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get
E processor = bundle_processor.BundleProcessor(
E self.runner_capabilities,
E ...<3 lines>...
E self.data_channel_factory,
E self.data_sampler)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__
E op.setup(self.data_sampler)
E ~~~~~~~~^^^^^^^^^^^^^^^^^^^
E File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup
E with self.scoped_start_state:
E File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup
E self.dofn_runner.setup()
E File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup
E self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)
E File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E self._reraise_augmented(exn)
E File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E raise new_exn
E File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E lifecycle_method()
E File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
E self.signature.setup_lifecycle_method.method_value()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
E self._caller.__enter__()
E ~~~~~~~~~~~~~~~~~~~~~~^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
E self._client = retry_with_backoff(
E ~~~~~~~~~~~~~~~~~~^
E connect_and_load,
E ^^^^^^^^^^^^^^^^^
E ...<3 lines>...
E operation_name="Milvus connection and collection load",
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E exception_types=(MilvusException, ))
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
E raise last_exception
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
E result = operation()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
E client = MilvusClient(**connection_params)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
E self._handler = self._manager.get_or_create(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E self._config,
E ^^^^^^^^^^^^^
E ...<2 lines>...
E timeout=timeout,
E ^^^^^^^^^^^^^^^^
E )
E ^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
E self._recover(managed)
E ~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
E managed.handler.reconnect(address=new_address)
E ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
E self._wait_for_channel_ready(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
E raise MilvusException(
E ...<2 lines>...
E ) from e
E RuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:49485, illegal connection params or server unavailable)> [while running 'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)']
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:574: RuntimeError
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_vector_search_with_euclidean_distance (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 1m 43s]
Raw output
RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready
grpc.channel_ready_future(self._channel).result(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result
self._block(timeout)
~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block
raise grpc.FutureTimeoutError()
grpc.FutureTimeoutError
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
lifecycle_method()
File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
self.signature.setup_lifecycle_method.method_value()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
self._caller.__enter__()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
self._client = retry_with_backoff(
~~~~~~~~~~~~~~~~~~^
connect_and_load,
^^^^^^^^^^^^^^^^^
...<3 lines>...
operation_name="Milvus connection and collection load",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
exception_types=(MilvusException, ))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
raise last_exception
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
result = operation()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
client = MilvusClient(**connection_params)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
self._handler = self._manager.get_or_create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._config,
^^^^^^^^^^^^^
...<2 lines>...
timeout=timeout,
^^^^^^^^^^^^^^^^
)
^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
self._recover(managed)
~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
managed.handler.reconnect(address=new_address)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
self._wait_for_channel_ready(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
raise MilvusException(
...<2 lines>...
) from e
pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:52707, illegal connection params or server unavailable)>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
response = task()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
lambda: self.create_worker().do_instruction(request), request)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
return getattr(self, request_type)(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
getattr(request, request_type), request.instruction_id)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle
bundle_processor = self.bundle_processor_cache.get(
instruction_id, request.process_bundle_descriptor_id)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get
processor = bundle_processor.BundleProcessor(
self.runner_capabilities,
...<3 lines>...
self.data_channel_factory,
self.data_sampler)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__
op.setup(self.data_sampler)
~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup
with self.scoped_start_state:
File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup
self.dofn_runner.setup()
File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup
self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)
File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
self._reraise_augmented(exn)
File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
raise new_exn
File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
lifecycle_method()
File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
self.signature.setup_lifecycle_method.method_value()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
self._caller.__enter__()
~~~~~~~~~~~~~~~~~~~~~~^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
self._client = retry_with_backoff(
~~~~~~~~~~~~~~~~~~^
connect_and_load,
^^^^^^^^^^^^^^^^^
...<3 lines>...
operation_name="Milvus connection and collection load",
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
exception_types=(MilvusException, ))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
raise last_exception
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
result = operation()
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
client = MilvusClient(**connection_params)
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
self._handler = self._manager.get_or_create(
~~~~~~~~~~~~~~~~~~~~~~~~~~~^
self._config,
^^^^^^^^^^^^^
...<2 lines>...
timeout=timeout,
^^^^^^^^^^^^^^^^
)
^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
self._recover(managed)
~~~~~~~~~~~~~^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
managed.handler.reconnect(address=new_address)
~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
self._wait_for_channel_ready(timeout=timeout)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
raise MilvusException(
...<2 lines>...
) from e
RuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:52707, illegal connection params or server unavailable)> [while running 'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)']
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_vector_search_with_euclidean_distance>
def test_vector_search_with_euclidean_distance(self):
test_chunks = [
Chunk(
id="query1",
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3]),
content=Content()),
Chunk(
id="query2",
embedding=Embedding(dense_embedding=[0.2, 0.3, 0.4]),
content=Content()),
Chunk(
id="query3",
embedding=Embedding(dense_embedding=[0.3, 0.4, 0.5]),
content=Content())
]
anns_field = "dense_embedding_euclidean"
addition_search_params = {
"metric_type": VectorSearchMetrics.EUCLIDEAN_DISTANCE.value,
"nprobe": 1
}
vector_search_parameters = VectorSearchParameters(
anns_field=anns_field, limit=10, search_params=addition_search_params)
search_parameters = MilvusSearchParameters(
collection_name=MILVUS_IT_CONFIG["collection_name"],
search_strategy=vector_search_parameters,
output_fields=["id", "content", "metadata"],
round_decimal=1)
collection_load_parameters = MilvusCollectionLoadParameters()
handler = MilvusSearchEnrichmentHandler(
connection_parameters=self._connection_params,
search_parameters=search_parameters,
collection_load_parameters=collection_load_parameters)
expected_chunks = [
Chunk(
id='query1',
content=Content(),
metadata={
'enrichment_data': {
'id': [1, 2, 3],
'distance': [0.0, 0.0, 0.1],
'fields': [{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
},
{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'وثيقة اختبار',
'metadata': {
'language': 'ar'
},
'id': 3
}]
}
},
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3])),
Chunk(
id='query2',
content=Content(),
metadata={
'enrichment_data': {
'id': [2, 3, 1],
'distance': [0.0, 0.0, 0.0],
'fields': [{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'وثيقة اختبار',
'metadata': {
'language': 'ar'
},
'id': 3
},
{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.2, 0.3, 0.4])),
Chunk(
id='query3',
content=Content(),
metadata={
'enrichment_data': {
'id': [3, 2, 1],
'distance': [0.0, 0.0, 0.1],
'fields': [{
'content': 'وثيقة اختبار',
'metadata': {
'language': 'ar'
},
'id': 3
},
{
'content': 'Another test document',
'metadata': {
'language': 'en'
},
'id': 2
},
{
'content': 'This is a test document',
'metadata': {
'language': 'en'
},
'id': 1
}]
}
},
embedding=Embedding(dense_embedding=[0.3, 0.4, 0.5]))
]
> with TestPipeline() as p:
^^^^^^^^^^^^^^
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:706:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/pipeline.py:653: in __exit__
self.result = self.run()
^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/testing/test_pipeline.py:123: in run
state = result.wait_until_finish(duration=self.timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <apache_beam.runners.portability.portable_runner.PipelineResult object at 0x7f965892dbe0>
duration = None
def wait_until_finish(self, duration=None):
"""
:param duration: The maximum time in milliseconds to wait for the result of
the execution. If None or zero, will wait until the pipeline finishes.
:return: The result of the pipeline, i.e. PipelineResult.
"""
last_error_text = None
def read_messages() -> None:
nonlocal last_error_text
previous_state = -1
for message in self._message_stream:
if message.HasField('message_response'):
mr = message.message_response
logging.log(MESSAGE_LOG_LEVELS[mr.importance], "%s", mr.message_text)
if mr.importance == beam_job_api_pb2.JobMessage.JOB_MESSAGE_ERROR:
last_error_text = mr.message_text
else:
current_state = message.state_response.state
if current_state != previous_state:
_LOGGER.info(
"Job state changed to %s",
self.runner_api_state_to_pipeline_state(current_state))
previous_state = current_state
self._messages.append(message)
message_thread = threading.Thread(
target=read_messages, name='wait_until_finish_read')
message_thread.daemon = True
message_thread.start()
if duration:
state_thread = threading.Thread(
target=functools.partial(self._observe_state, message_thread),
name='wait_until_finish_state_observer')
state_thread.daemon = True
state_thread.start()
start_time = time.time()
duration_secs = duration / 1000
while (time.time() - start_time < duration_secs and
state_thread.is_alive()):
time.sleep(1)
else:
self._observe_state(message_thread)
if self._runtime_exception:
> raise self._runtime_exception
E RuntimeError: Pipeline job-001 failed in state FAILED: bundle inst003 stage-007 failed:Traceback (most recent call last):
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready
E grpc.channel_ready_future(self._channel).result(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result
E self._block(timeout)
E ~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block
E raise grpc.FutureTimeoutError()
E grpc.FutureTimeoutError
E
E The above exception was the direct cause of the following exception:
E
E Traceback (most recent call last):
E File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E lifecycle_method()
E File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
E self.signature.setup_lifecycle_method.method_value()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
E self._caller.__enter__()
E ~~~~~~~~~~~~~~~~~~~~~~^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
E self._client = retry_with_backoff(
E ~~~~~~~~~~~~~~~~~~^
E connect_and_load,
E ^^^^^^^^^^^^^^^^^
E ...<3 lines>...
E operation_name="Milvus connection and collection load",
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E exception_types=(MilvusException, ))
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
E raise last_exception
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
E result = operation()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
E client = MilvusClient(**connection_params)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
E self._handler = self._manager.get_or_create(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E self._config,
E ^^^^^^^^^^^^^
E ...<2 lines>...
E timeout=timeout,
E ^^^^^^^^^^^^^^^^
E )
E ^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
E self._recover(managed)
E ~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
E managed.handler.reconnect(address=new_address)
E ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
E self._wait_for_channel_ready(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
E raise MilvusException(
E ...<2 lines>...
E ) from e
E pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:52707, illegal connection params or server unavailable)>
E
E During handling of the above exception, another exception occurred:
E
E Traceback (most recent call last):
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute
E response = task()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>
E lambda: self.create_worker().do_instruction(request), request)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction
E return getattr(self, request_type)(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E getattr(request, request_type), request.instruction_id)
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle
E bundle_processor = self.bundle_processor_cache.get(
E instruction_id, request.process_bundle_descriptor_id)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get
E processor = bundle_processor.BundleProcessor(
E self.runner_capabilities,
E ...<3 lines>...
E self.data_channel_factory,
E self.data_sampler)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__
E op.setup(self.data_sampler)
E ~~~~~~~~^^^^^^^^^^^^^^^^^^^
E File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup
E with self.scoped_start_state:
E File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup
E self.dofn_runner.setup()
E File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup
E self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)
E File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E self._reraise_augmented(exn)
E File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented
E raise new_exn
E File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method
E lifecycle_method()
E File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup
E self.signature.setup_lifecycle_method.method_value()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup
E self._caller.__enter__()
E ~~~~~~~~~~~~~~~~~~~~~~^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__
E self._client = retry_with_backoff(
E ~~~~~~~~~~~~~~~~~~^
E connect_and_load,
E ^^^^^^^^^^^^^^^^^
E ...<3 lines>...
E operation_name="Milvus connection and collection load",
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E exception_types=(MilvusException, ))
E ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff
E raise last_exception
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff
E result = operation()
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load
E client = MilvusClient(**connection_params)
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__
E self._handler = self._manager.get_or_create(
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
E self._config,
E ^^^^^^^^^^^^^
E ...<2 lines>...
E timeout=timeout,
E ^^^^^^^^^^^^^^^^
E )
E ^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create
E self._recover(managed)
E ~~~~~~~~~~~~~^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover
E managed.handler.reconnect(address=new_address)
E ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect
E self._wait_for_channel_ready(timeout=timeout)
E ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
E File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready
E raise MilvusException(
E ...<2 lines>...
E ) from e
E RuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:52707, illegal connection params or server unavailable)> [while running 'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)']
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/portability/portable_runner.py:574: RuntimeError
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_invalid_query_on_non_existent_field (apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 1m 43s]
Raw output
AssertionError: 'fieldName(nonexistent_column) not found' not found in 'Pipeline job-001 failed in state FAILED: bundle inst001 stage-001 failed:Traceback (most recent call last):\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready\n grpc.channel_ready_future(self._channel).result(timeout=timeout)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result\n self._block(timeout)\n ~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block\n raise grpc.FutureTimeoutError()\ngrpc.FutureTimeoutError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method\n lifecycle_method()\n File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup\n self.signature.setup_lifecycle_method.method_value()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup\n self._caller.__enter__()\n ~~~~~~~~~~~~~~~~~~~~~~^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__\n self._client = retry_with_backoff(\n ~~~~~~~~~~~~~~~~~~^\n connect_and_load,\n ^^^^^^^^^^^^^^^^^\n ...<3 lines>...\n operation_name="Milvus connection and collection load",\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n exception_types=(MilvusException, ))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff\n raise last_exception\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff\n result = operation()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load\n client = MilvusClient(**connection_params)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__\n self._handler = self._manager.get_or_create(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n self._config,\n ^^^^^^^^^^^^^\n ...<2 lines>...\n timeout=timeout,\n ^^^^^^^^^^^^^^^^\n )\n ^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create\n self._recover(managed)\n ~~~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover\n managed.handler.reconnect(address=new_address)\n ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect\n self._wait_for_channel_ready(timeout=timeout)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready\n raise MilvusException(\n ...<2 lines>...\n ) from e\npymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:50625, illegal connection params or server unavailable)>\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute\n response = task()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>\n lambda: self.create_worker().do_instruction(request), request)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction\n return getattr(self, request_type)(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n getattr(request, request_type), request.instruction_id)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle\n bundle_processor = self.bundle_processor_cache.get(\n instruction_id, request.process_bundle_descriptor_id)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get\n processor = bundle_processor.BundleProcessor(\n self.runner_capabilities,\n ...<3 lines>...\n self.data_channel_factory,\n self.data_sampler)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__\n op.setup(self.data_sampler)\n ~~~~~~~~^^^^^^^^^^^^^^^^^^^\n File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup\n with self.scoped_start_state:\n File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup\n self.dofn_runner.setup()\n File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup\n self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)\n File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method\n self._reraise_augmented(exn)\n File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented\n raise new_exn\n File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method\n lifecycle_method()\n File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup\n self.signature.setup_lifecycle_method.method_value()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup\n self._caller.__enter__()\n ~~~~~~~~~~~~~~~~~~~~~~^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__\n self._client = retry_with_backoff(\n ~~~~~~~~~~~~~~~~~~^\n connect_and_load,\n ^^^^^^^^^^^^^^^^^\n ...<3 lines>...\n operation_name="Milvus connection and collection load",\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n exception_types=(MilvusException, ))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff\n raise last_exception\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff\n result = operation()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load\n client = MilvusClient(**connection_params)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__\n self._handler = self._manager.get_or_create(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n self._config,\n ^^^^^^^^^^^^^\n ...<2 lines>...\n timeout=timeout,\n ^^^^^^^^^^^^^^^^\n )\n ^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create\n self._recover(managed)\n ~~~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover\n managed.handler.reconnect(address=new_address)\n ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect\n self._wait_for_channel_ready(timeout=timeout)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready\n raise MilvusException(\n ...<2 lines>...\n ) from e\nRuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:50625, illegal connection params or server unavailable)> [while running \'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)\']\n'
self = <apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment testMethod=test_invalid_query_on_non_existent_field>
def test_invalid_query_on_non_existent_field(self):
non_existent_field = "nonexistent_column"
existent_collection = MILVUS_IT_CONFIG["collection_name"]
test_chunks = [
Chunk(
embedding=Embedding(dense_embedding=[0.1, 0.2, 0.3]),
content=Content())
]
search_parameters = MilvusSearchParameters(
collection_name=existent_collection,
search_strategy=VectorSearchParameters(anns_field=non_existent_field))
collection_load_parameters = MilvusCollectionLoadParameters()
handler = MilvusSearchEnrichmentHandler(
self._connection_params,
search_parameters,
collection_load_parameters=collection_load_parameters)
with self.assertRaises(Exception) as context:
with TestPipeline() as p:
_ = (p | beam.Create(test_chunks) | Enrichment(handler))
expect_err_msg_contains = f"fieldName({non_existent_field}) not found"
> self.assertIn(expect_err_msg_contains, str(context.exception))
E AssertionError: 'fieldName(nonexistent_column) not found' not found in 'Pipeline job-001 failed in state FAILED: bundle inst001 stage-001 failed:Traceback (most recent call last):\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 225, in _wait_for_channel_ready\n grpc.channel_ready_future(self._channel).result(timeout=timeout)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 160, in result\n self._block(timeout)\n ~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py", line 105, in _block\n raise grpc.FutureTimeoutError()\ngrpc.FutureTimeoutError\n\nThe above exception was the direct cause of the following exception:\n\nTraceback (most recent call last):\n File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method\n lifecycle_method()\n File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup\n self.signature.setup_lifecycle_method.method_value()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup\n self._caller.__enter__()\n ~~~~~~~~~~~~~~~~~~~~~~^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__\n self._client = retry_with_backoff(\n ~~~~~~~~~~~~~~~~~~^\n connect_and_load,\n ^^^^^^^^^^^^^^^^^\n ...<3 lines>...\n operation_name="Milvus connection and collection load",\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n exception_types=(MilvusException, ))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff\n raise last_exception\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff\n result = operation()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load\n client = MilvusClient(**connection_params)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__\n self._handler = self._manager.get_or_create(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n self._config,\n ^^^^^^^^^^^^^\n ...<2 lines>...\n timeout=timeout,\n ^^^^^^^^^^^^^^^^\n )\n ^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create\n self._recover(managed)\n ~~~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover\n managed.handler.reconnect(address=new_address)\n ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect\n self._wait_for_channel_ready(timeout=timeout)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready\n raise MilvusException(\n ...<2 lines>...\n ) from e\npymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:50625, illegal connection params or server unavailable)>\n\nDuring handling of the above exception, another exception occurred:\n\nTraceback (most recent call last):\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 316, in _execute\n response = task()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 390, in <lambda>\n lambda: self.create_worker().do_instruction(request), request)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 669, in do_instruction\n return getattr(self, request_type)(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n getattr(request, request_type), request.instruction_id)\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 701, in process_bundle\n bundle_processor = self.bundle_processor_cache.get(\n instruction_id, request.process_bundle_descriptor_id)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/sdk_worker.py", line 517, in get\n processor = bundle_processor.BundleProcessor(\n self.runner_capabilities,\n ...<3 lines>...\n self.data_channel_factory,\n self.data_sampler)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/runners/worker/bundle_processor.py", line 1163, in __init__\n op.setup(self.data_sampler)\n ~~~~~~~~^^^^^^^^^^^^^^^^^^^\n File "apache_beam/runners/worker/operations.py", line 878, in apache_beam.runners.worker.operations.DoOperation.setup\n with self.scoped_start_state:\n File "apache_beam/runners/worker/operations.py", line 928, in apache_beam.runners.worker.operations.DoOperation.setup\n self.dofn_runner.setup()\n File "apache_beam/runners/common.py", line 1568, in apache_beam.runners.common.DoFnRunner.setup\n self._invoke_lifecycle_method(self.do_fn_invoker.invoke_setup)\n File "apache_beam/runners/common.py", line 1564, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method\n self._reraise_augmented(exn)\n File "apache_beam/runners/common.py", line 1609, in apache_beam.runners.common.DoFnRunner._reraise_augmented\n raise new_exn\n File "apache_beam/runners/common.py", line 1562, in apache_beam.runners.common.DoFnRunner._invoke_lifecycle_method\n lifecycle_method()\n File "apache_beam/runners/common.py", line 602, in apache_beam.runners.common.DoFnInvoker.invoke_setup\n self.signature.setup_lifecycle_method.method_value()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/apache_beam/io/requestresponse.py", line 344, in setup\n self._caller.__enter__()\n ~~~~~~~~~~~~~~~~~~~~~~^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 407, in __enter__\n self._client = retry_with_backoff(\n ~~~~~~~~~~~~~~~~~~^\n connect_and_load,\n ^^^^^^^^^^^^^^^^^\n ...<3 lines>...\n operation_name="Milvus connection and collection load",\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n exception_types=(MilvusException, ))\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 224, in retry_with_backoff\n raise last_exception\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/utils.py", line 204, in retry_with_backoff\n result = operation()\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/apache_beam/ml/rag/enrichment/milvus_search.py", line 400, in connect_and_load\n client = MilvusClient(**connection_params)\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py", line 88, in __init__\n self._handler = self._manager.get_or_create(\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~^\n self._config,\n ^^^^^^^^^^^^^\n ...<2 lines>...\n timeout=timeout,\n ^^^^^^^^^^^^^^^^\n )\n ^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 493, in get_or_create\n self._recover(managed)\n ~~~~~~~~~~~~~^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py", line 667, in _recover\n managed.handler.reconnect(address=new_address)\n ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 261, in reconnect\n self._wait_for_channel_ready(timeout=timeout)\n ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^\n File "/home/runner/work/beam/beam/sdks/python/test-suites/tox/py313/build/srcs/sdks/python/target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py", line 229, in _wait_for_channel_ready\n raise MilvusException(\n ...<2 lines>...\n ) from e\nRuntimeError: pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:50625, illegal connection params or server unavailable)> [while running \'Enrichment/Enrichment-RRIO/_Call/ParDo(_CallDoFn)\']\n'
apache_beam/ml/rag/enrichment/milvus_search_it_test.py:313: AssertionError
github-actions / Python 3.13 Test Results (ubuntu-latest)
test_invalid_write_on_non_existent_collection (apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig) failed
sdks/python/test-suites/tox/py313/build/srcs/sdks/python/pytest_py313-ml.xml [took 49s]
Raw output
pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:43513, illegal connection params or server unavailable)>
self = <pymilvus.client.grpc_handler.GrpcHandler object at 0x7f68eb984ec0>
timeout = 10
def _wait_for_channel_ready(self, timeout: Union[float] = 10):
if self._channel is None:
raise MilvusException(
code=Status.CONNECT_FAILED,
message="No channel in handler, please setup grpc channel first",
)
try:
> grpc.channel_ready_future(self._channel).result(timeout=timeout)
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py:225:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py:160: in result
self._block(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <grpc._utilities._ChannelReadyFuture object at 0x7f68e98cc950>
timeout = 10
def _block(self, timeout: Optional[float]) -> None:
until = None if timeout is None else time.time() + timeout
with self._condition:
while True:
if self._cancelled:
raise grpc.FutureCancelledError()
if self._matured:
return
if until is None:
self._condition.wait()
else:
remaining = until - time.time()
if remaining < 0:
> raise grpc.FutureTimeoutError()
E grpc.FutureTimeoutError
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/grpc/_utilities.py:105: FutureTimeoutError
The above exception was the direct cause of the following exception:
self = <apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig testMethod=test_invalid_write_on_non_existent_collection>
def setUp(self):
self.write_test_pipeline = TestPipeline()
self.write_test_pipeline.not_use_test_runner_api = True
self._collection_name = f"test_collection_{self._testMethodName}"
self._partition_name = f"test_partition_{self._testMethodName}"
config = unpack_dataclass_with_kwargs(self._connection_config)
config["alias"] = f"milvus_conn_{uuid.uuid4().hex[:8]}"
# Use retry_with_backoff for test client connection.
def create_client():
return MilvusClient(**config)
> self._test_client = retry_with_backoff(
create_client,
max_retries=3,
retry_delay=1.0,
operation_name="Test Milvus client connection",
exception_types=(MilvusException, ))
apache_beam/ml/rag/ingestion/milvus_search_it_test.py:205:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
apache_beam/ml/rag/utils.py:224: in retry_with_backoff
raise last_exception
apache_beam/ml/rag/utils.py:204: in retry_with_backoff
result = operation()
^^^^^^^^^^^
apache_beam/ml/rag/ingestion/milvus_search_it_test.py:203: in create_client
return MilvusClient(**config)
^^^^^^^^^^^^^^^^^^^^^^
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/milvus_client/milvus_client.py:88: in __init__
self._handler = self._manager.get_or_create(
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py:493: in get_or_create
self._recover(managed)
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/connection_manager.py:667: in _recover
managed.handler.reconnect(address=new_address)
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py:261: in reconnect
self._wait_for_channel_ready(timeout=timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pymilvus.client.grpc_handler.GrpcHandler object at 0x7f68eb984ec0>
timeout = 10
def _wait_for_channel_ready(self, timeout: Union[float] = 10):
if self._channel is None:
raise MilvusException(
code=Status.CONNECT_FAILED,
message="No channel in handler, please setup grpc channel first",
)
try:
grpc.channel_ready_future(self._channel).result(timeout=timeout)
self._setup_identifier_interceptor(self._user, timeout=timeout)
except grpc.FutureTimeoutError as e:
self.close()
> raise MilvusException(
code=Status.CONNECT_FAILED,
message=f"Fail connecting to server on {self._address}, illegal connection params or server unavailable",
) from e
E pymilvus.exceptions.MilvusException: <MilvusException: (code=2, message=Fail connecting to server on localhost:43513, illegal connection params or server unavailable)>
target/.tox-py313-ml/py313-ml/lib/python3.13/site-packages/pymilvus/client/grpc_handler.py:229: MilvusException
Check notice on line 0 in .github
github-actions / Python 3.13 Test Results (ubuntu-latest)
8 skipped tests found
There are 8 skipped tests, see "Raw output" for the full list of skipped tests.
Raw output
apache_beam.ml.inference.huggingface_inference_it_test
apache_beam.ml.inference.huggingface_inference_test
apache_beam.ml.inference.model_manager_it_test
apache_beam.ml.inference.onnx_inference_test
apache_beam.ml.inference.tensorrt_inference_test
apache_beam.ml.inference.xgboost_inference_test
apache_beam.ml.transforms.handlers_test
apache_beam.ml.transforms.tft_test
Check notice on line 0 in .github
github-actions / Python 3.13 Test Results (ubuntu-latest)
25 tests found
There are 25 tests, see "Raw output" for the full list of tests.
Raw output
apache_beam.ml.inference.huggingface_inference_it_test
apache_beam.ml.inference.huggingface_inference_test
apache_beam.ml.inference.model_manager_it_test
apache_beam.ml.inference.onnx_inference_test
apache_beam.ml.inference.tensorrt_inference_test
apache_beam.ml.inference.xgboost_inference_test
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_empty_input_chunks
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_filtered_search_with_bm25_full_text_and_batching
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_filtered_search_with_cosine_similarity_and_batching
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_hybrid_search
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_invalid_query_on_non_existent_collection
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_invalid_query_on_non_existent_field
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_keyword_search_with_inner_product_sparse_embedding
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_vector_search_with_euclidean_distance
apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment ‑ test_vector_search_with_inner_product_similarity
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_idempotent_write
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_invalid_write_on_missing_primary_key_in_entity
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_invalid_write_on_non_existent_collection
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_invalid_write_on_non_existent_partition
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_write_on_auto_id_primary_key
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_write_on_existent_collection_with_default_schema
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_write_with_batching
apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig ‑ test_write_with_custom_column_specifications
apache_beam.ml.transforms.handlers_test
apache_beam.ml.transforms.tft_test