Skip to content

Bump aiohttp from 3.13.3 to 3.13.4 in /sdks/python/container/ml/py312

e9217a4
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Open

Bump aiohttp from 3.13.3 to 3.13.4 in /sdks/python/container/ml/py312 #38037

Bump aiohttp from 3.13.3 to 3.13.4 in /sdks/python/container/ml/py312
e9217a4
Select commit
Loading
Failed to load commit list.
GitHub Actions / Python 3.13 Test Results (ubuntu-latest) failed Apr 1, 2026 in 0s

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

Check warning on line 0 in apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment

See this annotation in the file changed.

@github-actions 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

Check warning on line 0 in apache_beam.ml.rag.ingestion.milvus_search_it_test.TestMilvusVectorWriterConfig

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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