mohamedawnallah commented on PR #35216:
URL: https://github.com/apache/beam/pull/35216#issuecomment-2996596518

   Hey @damccorm,
   
   Most of the main tasks in this PR are nearly complete. However, the 
`beam_PreCommit_Python_ML` job is currently failing due to an issue related to 
Docker container port mapping.
   
   I've already tried a few workarounds such as ensuring there are no port 
conflicts. This is supposed to run fine on a typical GitHub hosted Ubuntu 
runner. The runner for this `beam_PreCommit_Python_ML` job is self-hosted which 
leads me to mostly think this is likely a configuration issue specific to the 
self-hosted environment.
   
   Given I have little input into the setup or computing environment of the 
self-hosted runner, How am I supposed to troubleshoot and debug this further?
   
   ```
   cls = <class 
'apache_beam.ml.rag.enrichment.milvus_search_it_test.TestMilvusSearchEnrichment'>
   
       @classmethod
       def setUpClass(cls):
   >     cls._db = MilvusEnrichmentTestHelper.start_db_container(cls._version)
   
   apache_beam/ml/rag/enrichment/milvus_search_it_test.py:420: 
   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ 
   apache_beam/ml/rag/enrichment/milvus_search_it_test.py:273: in 
start_db_container
       vector_db_container.start()
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/milvus/__init__.py:83:
 in start
       self._connect()
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/core/waiting_utils.py:59:
 in wrapper
       return wrapped(*args, **kwargs)
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/milvus/__init__.py:65:
 in _connect
       self._healthcheck()
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/core/waiting_utils.py:59:
 in wrapper
       return wrapped(*args, **kwargs)
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/milvus/__init__.py:74:
 in _healthcheck
       healthcheck_url = self._get_healthcheck_url()
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/milvus/__init__.py:69:
 in _get_healthcheck_url
       port = self.get_exposed_port(self.healthcheck_port)
   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ 
   
   wrapped = <bound method DockerContainer.get_exposed_port of 
<testcontainers.milvus.MilvusContainer object at 0x7e27846ac4f0>>
   instance = <testcontainers.milvus.MilvusContainer object at 0x7e27846ac4f0>
   args = (9091,), kwargs = {}
   
       @wrapt.decorator
       def wrapper(wrapped: Callable, instance: Any, args: list, kwargs: dict) 
-> Any:
           from testcontainers.core.container import DockerContainer
       
           if isinstance(instance, DockerContainer):
               logger.info("Waiting for container %s with image %s to be ready 
...", instance._container, instance.image)
           else:
               logger.info("Waiting for %s to be ready ...", instance)
       
           exception = None
           for attempt_no in range(config.max_tries):
               try:
                   return wrapped(*args, **kwargs)
               except transient_exceptions as e:
                   logger.debug(
                       f"Connection attempt '{attempt_no + 1}' of 
'{config.max_tries + 1}' "
                       f"failed: {traceback.format_exc()}"
                   )
   >               time.sleep(config.sleep_time)
   E               Failed: Timeout (>600.0s) from pytest-timeout.
   
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/core/waiting_utils.py:65:
 Failed
   _ ERROR at setup of 
TestMilvusSearchEnrichment.test_vector_search_with_inner_product_similarity _
   [gw2] linux -- Python 3.9.22 
/runner/_work/beam/beam/sdks/python/test-suites/tox/py39/build/srcs/sdks/python/target/.tox-py39-ml/py39-ml/bin/python
   
   wrapped = <bound method DockerContainer.get_exposed_port of 
<testcontainers.milvus.MilvusContainer object at 0x7e27846ac4f0>>
   instance = <testcontainers.milvus.MilvusContainer object at 0x7e27846ac4f0>
   args = (9091,), kwargs = {}
   
       @wrapt.decorator
       def wrapper(wrapped: Callable, instance: Any, args: list, kwargs: dict) 
-> Any:
           from testcontainers.core.container import DockerContainer
       
           if isinstance(instance, DockerContainer):
               logger.info("Waiting for container %s with image %s to be ready 
...", instance._container, instance.image)
           else:
               logger.info("Waiting for %s to be ready ...", instance)
       
           exception = None
        
           for attempt_no in range(config.max_tries):
               try:
   >               return wrapped(*args, **kwargs)
   
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/core/waiting_utils.py:59:
 
   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ 
   
target/.tox-py39-ml/py39-ml/lib/python3.9/site-packages/testcontainers/core/container.py:155:
 in get_exposed_port
       return self.get_docker_client().port(self._container.id, port)
   _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ 
   
   self = <testcontainers.core.docker_client.DockerClient object at 
0x7e27846acdc0>
   container_id = 
'a261d8725a7cc1549[4082](https://github.com/apache/beam/actions/runs/15813470637/job/44568183065?pr=35216#step:8:4084)8cafa5b084f506ab9a4f7c8b852c92be5d98638abdd'
   port = 9091
   
       def port(self, container_id: str, port: int) -> int:
           """
           Lookup the public-facing port that is NAT-ed to :code:`port`.
           """
           port_mappings = self.client.api.port(container_id, port)
           if not port_mappings:
   >           raise ConnectionError(f"Port mapping for container 
{container_id} and port {port} is " "not available")
   E           ConnectionError: Port mapping for container 
a261d8725a7cc154940828cafa5b084f506ab9a4f7c8b852c92be5d98638abdd and port 9091 
is not available


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: github-unsubscr...@beam.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to