[ 
https://issues.apache.org/jira/browse/HIVE-25705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stamatis Zampetakis reassigned HIVE-25705:
------------------------------------------


> Use dynamic host/post binding for dockerized databases in tests
> ---------------------------------------------------------------
>
>                 Key: HIVE-25705
>                 URL: https://issues.apache.org/jira/browse/HIVE-25705
>             Project: Hive
>          Issue Type: Improvement
>          Components: Testing Infrastructure
>            Reporter: Stamatis Zampetakis
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>
> Currently all dockerized databases (subclasses of 
> [DatabaseRule|https://github.com/apache/hive/blob/6e02f6164385a370ee8014c795bee1fa423d7937/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/DatabaseRule.java],
>  subclasses of 
> [AbstractExternalDB.java|https://github.com/apache/hive/blob/6e02f6164385a370ee8014c795bee1fa423d7937/itests/util/src/main/java/org/apache/hadoop/hive/ql/externalDB/AbstractExternalDB.java])
>  are mapped statically to a specific hostname (usually localhost) and port 
> when the container is launched; the host/port values are hardcoded in the 
> code. 
> This may create problems when a certain port is already taken by another 
> process leading to errors like the one below:
> {noformat}
> Bind for 0.0.0.0:5432 failed: port is already allocated.
> {noformat}
> Similar problems can occur by assuming that every database will be accessible 
> on localhost.
> This can lead to flakiness in CI and/or poor developer experience when 
> running tests backed by Docker.
> The goal of this case is to allow the containers/databases bind dynamically 
> to a random port at startup and expose the appropriate IP address & port to 
> the tests relying on these databases.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to