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

yuqi4733 pushed a commit to branch branch-lance-namepspace-dev
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/branch-lance-namepspace-dev by 
this push:
     new 4c6934df5c [#8933] fix(CI): Fix the lance rest start issue (#8934)
4c6934df5c is described below

commit 4c6934df5cdd88aa8710bfa2cfe7a16e09e9aa72
Author: Jerry Shao <[email protected]>
AuthorDate: Tue Oct 28 20:28:57 2025 +0800

    [#8933] fix(CI): Fix the lance rest start issue (#8934)
    
    ### What changes were proposed in this pull request?
    
    Fix the CI failure when configuring the lance rest aux service.
    
    ### Why are the changes needed?
    
    Fix: #8933
    
    ### Does this PR introduce _any_ user-facing change?
    
    No.
    
    ### How was this patch tested?
    
    Existing CI.
---
 .../catalog-lakehouse-iceberg/build.gradle.kts     |  2 ++
 .../integration/test/CatalogIcebergBaseIT.java     |  2 +-
 .../test/CatalogIcebergKerberosHiveIT.java         |  2 +-
 conf/gravitino.conf.template                       |  2 +-
 .../connector/integration/test/FlinkEnvIT.java     |  2 +-
 .../gravitino/integration/test/MiniGravitino.java  | 25 ++++++++++++++++++----
 .../integration/test/MiniGravitinoContext.java     |  6 +++---
 .../gravitino/integration/test/util/BaseIT.java    |  5 ++---
 .../connector/integration/test/SparkEnvIT.java     |  2 +-
 spark-connector/v3.3/spark/build.gradle.kts        |  1 +
 spark-connector/v3.4/spark/build.gradle.kts        |  1 +
 spark-connector/v3.5/spark/build.gradle.kts        |  1 +
 12 files changed, 36 insertions(+), 15 deletions(-)

diff --git a/catalogs/catalog-lakehouse-iceberg/build.gradle.kts 
b/catalogs/catalog-lakehouse-iceberg/build.gradle.kts
index 25f750a6be..1b1cd9a29e 100644
--- a/catalogs/catalog-lakehouse-iceberg/build.gradle.kts
+++ b/catalogs/catalog-lakehouse-iceberg/build.gradle.kts
@@ -143,6 +143,8 @@ tasks.test {
     exclude("**/integration/test/**")
   } else {
     dependsOn(tasks.jar)
+    dependsOn(":iceberg:iceberg-rest-server:jar")
+    dependsOn(":lance:lance-rest-server:jar")
   }
 }
 
diff --git 
a/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergBaseIT.java
 
b/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergBaseIT.java
index 1260d7d795..b0d4f3b5eb 100644
--- 
a/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergBaseIT.java
+++ 
b/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergBaseIT.java
@@ -124,7 +124,7 @@ public abstract class CatalogIcebergBaseIT extends BaseIT {
 
   @BeforeAll
   public void startup() throws Exception {
-    ignoreIcebergRestService = false;
+    super.ignoreAuxRestService = false;
     super.startIntegrationTest();
     containerSuite.startHiveContainer();
     initIcebergCatalogProperties();
diff --git 
a/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergKerberosHiveIT.java
 
b/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergKerberosHiveIT.java
index 1017ccb4e1..cce787ec85 100644
--- 
a/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergKerberosHiveIT.java
+++ 
b/catalogs/catalog-lakehouse-iceberg/src/test/java/org/apache/gravitino/catalog/lakehouse/iceberg/integration/test/CatalogIcebergKerberosHiveIT.java
@@ -127,7 +127,7 @@ public class CatalogIcebergKerberosHiveIT extends BaseIT {
       // Config kerberos configuration for Gravitino server
       addKerberosConfig();
 
-      ignoreIcebergRestService = false;
+      super.ignoreAuxRestService = false;
       // Start Gravitino server
       super.startIntegrationTest();
     } catch (Exception e) {
diff --git a/conf/gravitino.conf.template b/conf/gravitino.conf.template
index 44a9e50f82..f3af89c12b 100644
--- a/conf/gravitino.conf.template
+++ b/conf/gravitino.conf.template
@@ -82,7 +82,7 @@ gravitino.authorization.serviceAdmins = anonymous
 
 # THE CONFIGURATION FOR AUXILIARY SERVICE
 # Auxiliary service names, separate by ',', currently support iceberg-rest and 
lance-rest
-gravitino.auxService.names = iceberg-rest
+gravitino.auxService.names = iceberg-rest,lance-rest
 # Iceberg REST service classpath
 gravitino.iceberg-rest.classpath = iceberg-rest-server/libs, 
iceberg-rest-server/conf
 # Iceberg REST service host
diff --git 
a/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/FlinkEnvIT.java
 
b/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/FlinkEnvIT.java
index d372eb92af..ca79144f5b 100644
--- 
a/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/FlinkEnvIT.java
+++ 
b/flink-connector/flink/src/test/java/org/apache/gravitino/flink/connector/integration/test/FlinkEnvIT.java
@@ -112,7 +112,7 @@ public abstract class FlinkEnvIT extends BaseIT {
   protected abstract String getProvider();
 
   private void initIcebergRestServiceEnv() {
-    ignoreIcebergRestService = false;
+    super.ignoreAuxRestService = false;
     Map<String, String> icebergRestServiceConfigs = new HashMap<>();
     icebergRestServiceConfigs.put(
         "gravitino."
diff --git 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitino.java
 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitino.java
index d0ce1710d7..3cff6940c6 100644
--- 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitino.java
+++ 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitino.java
@@ -78,7 +78,7 @@ public class MiniGravitino {
     mockConfDir.mkdirs();
   }
 
-  private void removeIcebergRestConfiguration(Properties properties) {
+  private void removeAuxRestConfiguration(Properties properties) {
     // Disable Iceberg REST service
     properties.remove(
         AuxiliaryServiceManager.GRAVITINO_AUX_SERVICE_PREFIX
@@ -103,9 +103,9 @@ public class MiniGravitino {
         serverConfig.loadPropertiesFromFile(
             new File(ITUtils.joinPath(mockConfDir.getAbsolutePath(), 
"gravitino.conf")));
 
-    // Remove Iceberg rest service.
-    if (context.ignoreIcebergRestService) {
-      removeIcebergRestConfiguration(properties);
+    // Disable auxiliary rest service.
+    if (context.ignoreAuxRestService) {
+      removeAuxRestConfiguration(properties);
       ITUtils.overwriteConfigFile(
           ITUtils.joinPath(mockConfDir.getAbsolutePath(), "gravitino.conf"), 
properties);
     }
@@ -230,6 +230,22 @@ public class MiniGravitino {
     return customConfigs;
   }
 
+  private Map<String, String> getLanceRestServiceConfigs() throws IOException {
+    Map<String, String> customConfigs = new HashMap<>();
+
+    String lanceJarPath = Paths.get("lance", "lance-rest-server", "build", 
"libs").toString();
+    String lanceConfigPath =
+        Paths.get("lance", "lance-rest-server", "src", "main", 
"resources").toString();
+    customConfigs.put(
+        "gravitino.lance-rest." + 
AuxiliaryServiceManager.AUX_SERVICE_CLASSPATH,
+        String.join(",", lanceJarPath, lanceConfigPath));
+
+    customConfigs.put(
+        "gravitino.lance-rest." + 
JettyServerConfig.WEBSERVER_HTTP_PORT.getKey(),
+        String.valueOf(RESTUtils.findAvailablePort(4000, 5000)));
+    return customConfigs;
+  }
+
   // Customize the config file
   private void customizeConfigFile(String configTempFileName, String 
configFileName)
       throws IOException {
@@ -239,6 +255,7 @@ public class MiniGravitino {
         String.valueOf(RESTUtils.findAvailablePort(2000, 3000)));
 
     configMap.putAll(getIcebergRestServiceConfigs());
+    configMap.putAll(getLanceRestServiceConfigs());
     configMap.putAll(context.customConfig);
 
     ITUtils.rewriteConfigFile(configTempFileName, configFileName, configMap);
diff --git 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitinoContext.java
 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitinoContext.java
index 5b2acfac33..601138ecfd 100644
--- 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitinoContext.java
+++ 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/MiniGravitinoContext.java
@@ -23,10 +23,10 @@ import java.util.Map;
 
 public class MiniGravitinoContext {
   Map<String, String> customConfig;
-  final boolean ignoreIcebergRestService;
+  final boolean ignoreAuxRestService;
 
-  public MiniGravitinoContext(Map<String, String> customConfig, boolean 
ignoreIcebergRestService) {
+  public MiniGravitinoContext(Map<String, String> customConfig, boolean 
ignoreAuxRestService) {
     this.customConfig = customConfig;
-    this.ignoreIcebergRestService = ignoreIcebergRestService;
+    this.ignoreAuxRestService = ignoreAuxRestService;
   }
 }
diff --git 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/util/BaseIT.java
 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/util/BaseIT.java
index 72923341b9..1ae60a0fec 100644
--- 
a/integration-test-common/src/test/java/org/apache/gravitino/integration/test/util/BaseIT.java
+++ 
b/integration-test-common/src/test/java/org/apache/gravitino/integration/test/util/BaseIT.java
@@ -102,7 +102,7 @@ public class BaseIT {
 
   protected Map<String, String> customConfigs = new HashMap<>();
 
-  protected boolean ignoreIcebergRestService = true;
+  protected boolean ignoreAuxRestService = true;
 
   public String DOWNLOAD_MYSQL_JDBC_DRIVER_URL =
       
"https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.26/mysql-connector-java-8.0.26.jar";;
@@ -330,8 +330,7 @@ public class BaseIT {
     serverConfig = new ServerConfig();
     customConfigs.put(ENTITY_RELATIONAL_JDBC_BACKEND_PATH.getKey(), 
file.getAbsolutePath());
     if (testMode != null && testMode.equals(ITUtils.EMBEDDED_TEST_MODE)) {
-      MiniGravitinoContext context =
-          new MiniGravitinoContext(customConfigs, ignoreIcebergRestService);
+      MiniGravitinoContext context = new MiniGravitinoContext(customConfigs, 
ignoreAuxRestService);
       miniGravitino = new MiniGravitino(context);
       miniGravitino.start();
       serverConfig = miniGravitino.getServerConfig();
diff --git 
a/spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/integration/test/SparkEnvIT.java
 
b/spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/integration/test/SparkEnvIT.java
index 273d6d3bcd..9c2d2d5110 100644
--- 
a/spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/integration/test/SparkEnvIT.java
+++ 
b/spark-connector/spark-common/src/test/java/org/apache/gravitino/spark/connector/integration/test/SparkEnvIT.java
@@ -155,7 +155,7 @@ public abstract class SparkEnvIT extends SparkUtilIT {
   protected void initCatalogEnv() throws Exception {}
 
   private void initIcebergRestServiceEnv() {
-    ignoreIcebergRestService = false;
+    super.ignoreAuxRestService = false;
     Map<String, String> icebergRestServiceConfigs = new HashMap<>();
     icebergRestServiceConfigs.put(
         "gravitino."
diff --git a/spark-connector/v3.3/spark/build.gradle.kts 
b/spark-connector/v3.3/spark/build.gradle.kts
index 9023404980..1cc7f6d1a1 100644
--- a/spark-connector/v3.3/spark/build.gradle.kts
+++ b/spark-connector/v3.3/spark/build.gradle.kts
@@ -175,6 +175,7 @@ tasks.test {
     dependsOn(":catalogs:catalog-lakehouse-iceberg:jar")
     dependsOn(":catalogs:catalog-hive:jar")
     dependsOn(":iceberg:iceberg-rest-server:jar")
+    dependsOn(":lance:lance-rest-server:jar")
     dependsOn(":catalogs:catalog-lakehouse-paimon:jar")
     dependsOn(":catalogs:catalog-jdbc-mysql:jar")
     dependsOn(":catalogs:catalog-jdbc-postgresql:jar")
diff --git a/spark-connector/v3.4/spark/build.gradle.kts 
b/spark-connector/v3.4/spark/build.gradle.kts
index 8a9b527dce..519799d076 100644
--- a/spark-connector/v3.4/spark/build.gradle.kts
+++ b/spark-connector/v3.4/spark/build.gradle.kts
@@ -175,6 +175,7 @@ tasks.test {
     dependsOn(":catalogs:catalog-lakehouse-iceberg:jar")
     dependsOn(":catalogs:catalog-hive:jar")
     dependsOn(":iceberg:iceberg-rest-server:jar")
+    dependsOn(":lance:lance-rest-server:jar")
     dependsOn(":catalogs:catalog-lakehouse-paimon:jar")
     dependsOn(":catalogs:catalog-jdbc-mysql:jar")
     dependsOn(":catalogs:catalog-jdbc-postgresql:jar")
diff --git a/spark-connector/v3.5/spark/build.gradle.kts 
b/spark-connector/v3.5/spark/build.gradle.kts
index edbed1ca2d..cc1d8c9f88 100644
--- a/spark-connector/v3.5/spark/build.gradle.kts
+++ b/spark-connector/v3.5/spark/build.gradle.kts
@@ -177,6 +177,7 @@ tasks.test {
     dependsOn(":catalogs:catalog-lakehouse-iceberg:jar")
     dependsOn(":catalogs:catalog-hive:jar")
     dependsOn(":iceberg:iceberg-rest-server:jar")
+    dependsOn(":lance:lance-rest-server:jar")
     dependsOn(":catalogs:catalog-lakehouse-paimon:jar")
     dependsOn(":catalogs:catalog-jdbc-mysql:jar")
     dependsOn(":catalogs:catalog-jdbc-postgresql:jar")

Reply via email to