kevinjqliu opened a new issue, #291:
URL: https://github.com/apache/iceberg-python/issues/291

   ### Apache Iceberg version
   
   None
   
   ### Please describe the bug 🐞
   
   Moto server is used to mock S3 client calls
   
   MacOS uses port 5000 for AirPlay Receiver which causes port conflict with 
[`moto_server`](https://github.com/apache/iceberg-python/blob/main/tests/conftest.py#L1590)
 used for s3 tests [0][1]
   
   Furthermore, the `ThreadedMotoServer` implementation kicks off a thread to 
bind to port 5000 and waits for it to bind with the port. The thread silently 
errors out when there is a port conflict. 
   The tests assume that moto server is available and sends requests. The tests 
error out with ClientError which is confusing. 
   
   `poetry run pytest tests/catalog/test_dynamodb.py -k 
test_create_dynamodb_catalog_with_table_name`
   ![Screenshot 2024-01-21 at 12 53 33 
PM](https://github.com/apache/iceberg-python/assets/9057843/f6b639e4-349c-4ac3-b98b-0977bcfed32f)
   
   Possible solution:
   1. Use another default port (such as 5001)
   2. Check if the port available before starting moto server 
   3. Do both
   
   [2]
   
   
   
   [0] 
https://stackoverflow.com/questions/69955686/why-cant-i-run-the-project-on-port-5000
   [1] https://github.com/amundsen-io/amundsen/issues/1813
   


-- 
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: issues-unsubscr...@iceberg.apache.org.apache.org

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


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to