This is an automated email from the ASF dual-hosted git repository.

abstractdog pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new 4619ff8cc02 HIVE-29462: Log start/init times for Docker resources 
(#6321)
4619ff8cc02 is described below

commit 4619ff8cc02b57a771d149b47a1c59db3b001f45
Author: Bodor Laszlo <[email protected]>
AuthorDate: Sun Apr 19 10:00:38 2026 +0200

    HIVE-29462: Log start/init times for Docker resources (#6321)
---
 .../apache/hadoop/hive/ql/externalDB/DockerizedDatabase.java  | 11 ++++++++---
 .../hadoop/hive/metastore/dbinstall/rules/DatabaseRule.java   |  3 ++-
 .../apache/hadoop/hive/metastore/dbinstall/rules/Derby.java   |  2 +-
 .../apache/hadoop/hive/metastore/dbinstall/rules/Mariadb.java |  4 +---
 .../apache/hadoop/hive/metastore/dbinstall/rules/Mssql.java   |  4 +---
 .../apache/hadoop/hive/metastore/dbinstall/rules/Mysql.java   |  5 ++---
 .../apache/hadoop/hive/metastore/dbinstall/rules/Oracle.java  |  5 ++---
 .../hadoop/hive/metastore/dbinstall/rules/Postgres.java       |  4 +---
 8 files changed, 18 insertions(+), 20 deletions(-)

diff --git 
a/itests/util/src/main/java/org/apache/hadoop/hive/ql/externalDB/DockerizedDatabase.java
 
b/itests/util/src/main/java/org/apache/hadoop/hive/ql/externalDB/DockerizedDatabase.java
index 61ab387d866..7c444c6b538 100644
--- 
a/itests/util/src/main/java/org/apache/hadoop/hive/ql/externalDB/DockerizedDatabase.java
+++ 
b/itests/util/src/main/java/org/apache/hadoop/hive/ql/externalDB/DockerizedDatabase.java
@@ -96,11 +96,14 @@ private ProcessResults runCmdAndPrintStreams(String[] cmd, 
long secondsToWait)
 
   public void start() throws Exception {
     runCmdAndPrintStreams(buildRmCmd(), 600);
+    long startTime = System.currentTimeMillis();
     if (runCmdAndPrintStreams(buildRunCmd(), 600).rc != 0) {
       printDockerEvents();
       throw new RuntimeException("Unable to start docker container");
     }
-    long startTime = System.currentTimeMillis();
+    // 1. Time measured for the docker run command to complete.
+    long initStartTime = System.currentTimeMillis();
+    LOG.info("Started docker container in {} ms, waiting for init...", 
initStartTime - startTime);
     ProcessResults pr;
     do {
       Thread.sleep(1000);
@@ -109,13 +112,15 @@ public void start() throws Exception {
         printDockerEvents();
         throw new RuntimeException("Failed to get docker logs");
       }
-    } while (startTime + MAX_STARTUP_WAIT >= System.currentTimeMillis() && 
!isContainerReady(pr));
-    if (startTime + MAX_STARTUP_WAIT < System.currentTimeMillis()) {
+    } while (initStartTime + MAX_STARTUP_WAIT >= System.currentTimeMillis() && 
!isContainerReady(pr));
+    if (initStartTime + MAX_STARTUP_WAIT < System.currentTimeMillis()) {
       printDockerEvents();
       throw new RuntimeException(
           String.format("Container initialization failed within %d seconds. 
Please check the hive logs.",
               MAX_STARTUP_WAIT / 1000));
     }
+    // 2. Time measured for Docker to be fully initialized (i.e., when the DB 
is actually ready to use from the start).
+    LOG.info("Initialized docker container in {} ms", 
System.currentTimeMillis() - initStartTime);
     super.start();
   }
 
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/DatabaseRule.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/DatabaseRule.java
index a5da05ed6fe..a9d4b0f3dc2 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/DatabaseRule.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/DatabaseRule.java
@@ -65,7 +65,8 @@ public String getDb() {
   public abstract String getInitialJdbcUrl();
 
   @Override
-  public abstract void before() throws Exception;
+  public abstract void before();
+
   @Override
   public abstract void after();
 
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Derby.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Derby.java
index 6054b29c5ff..fe0cdae730d 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Derby.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Derby.java
@@ -82,7 +82,7 @@ public String getDb() {
   };
 
   @Override
-  public void before() throws Exception {
+  public void before() {
     MetastoreSchemaTool.setHomeDirForTesting();
   }
 
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mariadb.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mariadb.java
index b2f63789fd3..36f44c1f218 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mariadb.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mariadb.java
@@ -21,13 +21,11 @@
 import org.testcontainers.containers.MariaDBContainer;
 import org.testcontainers.utility.DockerImageName;
 
-import java.io.IOException;
-
 public class Mariadb extends DatabaseRule {
   private final MariaDBContainer<?> container = new 
MariaDBContainer<>(DockerImageName.parse("mariadb:11.4"));
 
   @Override
-  public void before() throws IOException, InterruptedException {
+  public void before() {
     container.start();
   }
 
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mssql.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mssql.java
index 3a9c2b30295..e793e762eb6 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mssql.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mssql.java
@@ -21,8 +21,6 @@
 import org.testcontainers.containers.MSSQLServerContainer;
 import org.testcontainers.utility.DockerImageName;
 
-import java.io.IOException;
-
 /**
  * JUnit TestRule for Mssql.
  */
@@ -31,7 +29,7 @@ public class Mssql extends DatabaseRule {
       new 
MSSQLServerContainer<>(DockerImageName.parse("mcr.microsoft.com/mssql/server:2019-latest")).acceptLicense();
 
   @Override
-  public void before() throws IOException, InterruptedException {
+  public void before() {
     container.start();
   }
 
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mysql.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mysql.java
index 4adbcc30588..7c8d211ce57 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mysql.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Mysql.java
@@ -20,16 +20,15 @@
 import org.testcontainers.containers.MySQLContainer;
 import org.testcontainers.utility.DockerImageName;
 
-import java.io.IOException;
-
 /**
  * JUnit TestRule for MySql.
  */
 public class Mysql extends DatabaseRule {
   private final MySQLContainer<?> container =
       new 
MySQLContainer<>(DockerImageName.parse("mysql:8.4.3")).withConfigurationOverride("");
+
   @Override
-  public void before() throws IOException, InterruptedException {
+  public void before() {
     container.start();
   }
 
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Oracle.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Oracle.java
index a36612cc8ff..7cc0a369bd6 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Oracle.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Oracle.java
@@ -20,8 +20,6 @@
 import org.testcontainers.containers.OracleContainer;
 import org.testcontainers.utility.DockerImageName;
 
-import java.io.IOException;
-
 /**
  * JUnit TestRule for Oracle.
  */
@@ -29,8 +27,9 @@ public class Oracle extends DatabaseRule {
   private final DockerImageName name =
       
DockerImageName.parse("abstractdog/oracle-xe:18.4.0-slim").asCompatibleSubstituteFor("gvenzl/oracle-xe");
   private final OracleContainer container = new 
OracleContainer(name).withEnv("ORACLE_PASSWORD", "oracle");
+
   @Override
-  public void before() throws IOException, InterruptedException {
+  public void before() {
     container.start();
   }
 
diff --git 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Postgres.java
 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Postgres.java
index 8844898ee70..0e75eb10751 100644
--- 
a/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Postgres.java
+++ 
b/standalone-metastore/metastore-server/src/test/java/org/apache/hadoop/hive/metastore/dbinstall/rules/Postgres.java
@@ -20,8 +20,6 @@
 import org.testcontainers.containers.PostgreSQLContainer;
 import org.testcontainers.utility.DockerImageName;
 
-import java.io.IOException;
-
 /**
  * JUnit TestRule for Postgres.
  */
@@ -37,7 +35,7 @@ protected Postgres(DockerImageName dockerImageName) {
   }
 
   @Override
-  public void before() throws IOException, InterruptedException {
+  public void before() {
     container.start();
   }
 

Reply via email to