This is an automated email from the ASF dual-hosted git repository.
mchades 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 bedc522216 [MINOR] Improve(lance-namespace): Slightly improve the
configuration and build script (#8918)
bedc522216 is described below
commit bedc52221669b072bfd2135fa644e2530ade2008
Author: Jerry Shao <[email protected]>
AuthorDate: Tue Oct 28 11:18:10 2025 +0800
[MINOR] Improve(lance-namespace): Slightly improve the configuration and
build script (#8918)
### What changes were proposed in this pull request?
This PR improves the configuration key and also the build kts for lance
namespace service.
### Why are the changes needed?
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Local test.
---
conf/gravitino-lance-rest-server.conf.template | 7 +++--
conf/gravitino.conf.template | 10 +++----
lance/lance-common/build.gradle.kts | 9 +-----
.../gravitino/lance/common/config/LanceConfig.java | 22 +++++++--------
.../gravitino/GravitinoLanceNamespaceWrapper.java | 6 ++--
.../lance/common/config/TestLanceConfig.java | 32 ++++------------------
lance/lance-rest-server/build.gradle.kts | 1 -
.../apache/gravitino/lance/LanceRESTService.java | 4 ++-
8 files changed, 32 insertions(+), 59 deletions(-)
diff --git a/conf/gravitino-lance-rest-server.conf.template
b/conf/gravitino-lance-rest-server.conf.template
index 137daf145d..d74fec3eb7 100644
--- a/conf/gravitino-lance-rest-server.conf.template
+++ b/conf/gravitino-lance-rest-server.conf.template
@@ -43,6 +43,7 @@ gravitino.lance-rest.responseHeaderSize = 131072
# THE CONFIGURATION FOR Lance namespace backend
# The backend Lance namespace for Lance REST service, it's recommended to use
Gravitino
gravitino.lance-rest.namespace-backend = gravitino
-gravitino.lance-rest.uri = http://localhost:8090
-# replace metalake with your metalake name in Gravitino
-# gravitino.lance-rest.metalake-name = metalake
+# The uri of the Lance REST service gravitino namespace backend
+gravitino.lance-rest.gravitino.uri = http://localhost:8090
+# The metalake name used for Lance REST service gravitino namespace backend,
please create the metalake before using it, and configure the metalake name
here.
+# gravitino.lance-rest.gravitino.metalake-name = metalake
diff --git a/conf/gravitino.conf.template b/conf/gravitino.conf.template
index a1fdb005ca..44a9e50f82 100644
--- a/conf/gravitino.conf.template
+++ b/conf/gravitino.conf.template
@@ -81,9 +81,8 @@ gravitino.authorization.enable = false
gravitino.authorization.serviceAdmins = anonymous
# THE CONFIGURATION FOR AUXILIARY SERVICE
-# Auxiliary service names, separate by ',' such as iceberg-rest,lance-rest
+# Auxiliary service names, separate by ',', currently support iceberg-rest and
lance-rest
gravitino.auxService.names = iceberg-rest
-
# Iceberg REST service classpath
gravitino.iceberg-rest.classpath = iceberg-rest-server/libs,
iceberg-rest-server/conf
# Iceberg REST service host
@@ -105,6 +104,7 @@ gravitino.lance-rest.httpPort = 9101
# THE CONFIGURATION FOR Lance namespace backend
# The backend Lance namespace for Lance REST service, it's recommended to use
Gravitino
gravitino.lance-rest.namespace-backend = gravitino
-gravitino.lance-rest.uri = http://localhost:8090
-# replace metalake with your metalake name in Gravitino
-# gravitino.lance-rest.metalake-name = metalake
+# The uri of the Lance REST service gravitino namespace backend
+gravitino.lance-rest.gravitino.uri = http://localhost:8090
+# The metalake name used for Lance REST service gravitino namespace backend,
please create the metalake first before using it, and configure the metalake
name here.
+# gravitino.lance-rest.gravitino.metalake-name = metalake
diff --git a/lance/lance-common/build.gradle.kts
b/lance/lance-common/build.gradle.kts
index 27057950f3..43cf5f42b8 100644
--- a/lance/lance-common/build.gradle.kts
+++ b/lance/lance-common/build.gradle.kts
@@ -25,14 +25,7 @@ plugins {
}
dependencies {
- implementation(project(":api"))
- implementation(project(":catalogs:catalog-common"))
- implementation(project(":clients:client-java")) {
- exclude("*")
- }
- implementation(project(":common")) {
- exclude("*")
- }
+ implementation(project(":clients:client-java-runtime", configuration =
"shadow"))
implementation(project(":core")) {
exclude("*")
}
diff --git
a/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/config/LanceConfig.java
b/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/config/LanceConfig.java
index 3703189ba8..f517d1a349 100644
---
a/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/config/LanceConfig.java
+++
b/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/config/LanceConfig.java
@@ -36,29 +36,29 @@ public class LanceConfig extends Config implements
OverwriteDefaultConfig {
public static final int DEFAULT_LANCE_REST_SERVICE_HTTP_PORT = 9101;
public static final int DEFAULT_LANCE_REST_SERVICE_HTTPS_PORT = 9533;
- public static final String DEFAULT_NAMESPACE_BACKEND = "gravitino";
- public static final String DEFAULT_URI = "http://localhost:8090";
+ public static final String GRAVITINO_NAMESPACE_BACKEND = "gravitino";
+ public static final String GRAVITINO_URI = "http://localhost:8090";
public static final ConfigEntry<String> NAMESPACE_BACKEND =
new ConfigBuilder(CONFIG_NAMESPACE_BACKEND)
.doc("The backend implementation for namespace operations")
.version(ConfigConstants.VERSION_0_1_0)
.stringConf()
- .createWithDefault(DEFAULT_NAMESPACE_BACKEND);
+ .createWithDefault(GRAVITINO_NAMESPACE_BACKEND);
public static final ConfigEntry<String> METALAKE_NAME =
- new ConfigBuilder(CONFIG_METALAKE)
- .doc("The Metalake name for Gravitino namespace backend")
+ new ConfigBuilder(LANCE_CONFIG_PREFIX + GRAVITINO_NAMESPACE_BACKEND +
"." + CONFIG_METALAKE)
+ .doc("The Metalake name for Lance Gravitino namespace backend")
.version(ConfigConstants.VERSION_0_1_0)
.stringConf()
.create();
- public static final ConfigEntry<String> NAMESPACE_URI =
- new ConfigBuilder(CONFIG_URI)
- .doc("The URI for the namespace backend, e.g., Gravitino server URI")
+ public static final ConfigEntry<String> NAMESPACE_BACKEND_URI =
+ new ConfigBuilder(LANCE_CONFIG_PREFIX + GRAVITINO_NAMESPACE_BACKEND +
"." + CONFIG_URI)
+ .doc("The URI of the namespace backend, e.g., Gravitino server URI")
.version(ConfigConstants.VERSION_0_1_0)
.stringConf()
- .createWithDefault(DEFAULT_URI);
+ .createWithDefault(GRAVITINO_URI);
public LanceConfig(Map<String, String> properties) {
super(false);
@@ -73,8 +73,8 @@ public class LanceConfig extends Config implements
OverwriteDefaultConfig {
return get(NAMESPACE_BACKEND);
}
- public String getNamespaceUri() {
- return get(NAMESPACE_URI);
+ public String getNamespaceBackendUri() {
+ return get(NAMESPACE_BACKEND_URI);
}
public String getGravitinoMetalake() {
diff --git
a/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/GravitinoLanceNamespaceWrapper.java
b/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/GravitinoLanceNamespaceWrapper.java
index 1f9e41a2cb..fe6404a424 100644
---
a/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/GravitinoLanceNamespaceWrapper.java
+++
b/lance/lance-common/src/main/java/org/apache/gravitino/lance/common/ops/gravitino/GravitinoLanceNamespaceWrapper.java
@@ -19,7 +19,7 @@
package org.apache.gravitino.lance.common.ops.gravitino;
import static
org.apache.gravitino.lance.common.config.LanceConfig.METALAKE_NAME;
-import static
org.apache.gravitino.lance.common.config.LanceConfig.NAMESPACE_URI;
+import static
org.apache.gravitino.lance.common.config.LanceConfig.NAMESPACE_BACKEND_URI;
import static org.apache.gravitino.rel.Column.DEFAULT_VALUE_NOT_SET;
import com.google.common.base.Joiner;
@@ -111,11 +111,11 @@ public class GravitinoLanceNamespaceWrapper extends
NamespaceWrapper
@Override
protected void initialize() {
- String uri = config().get(NAMESPACE_URI);
+ String uri = config().get(NAMESPACE_BACKEND_URI);
String metalakeName = config().get(METALAKE_NAME);
Preconditions.checkArgument(
StringUtils.isNotBlank(metalakeName),
- "Metalake name must be provided for Gravitino namespace backend");
+ "Metalake name must be provided for Lance Gravitino namespace
backend");
this.client =
GravitinoClient.builder(uri).withMetalake(metalakeName).build();
}
diff --git
a/lance/lance-common/src/test/java/org/apache/gravitino/lance/common/config/TestLanceConfig.java
b/lance/lance-common/src/test/java/org/apache/gravitino/lance/common/config/TestLanceConfig.java
index 44577a2dfa..6544ca7a3a 100644
---
a/lance/lance-common/src/test/java/org/apache/gravitino/lance/common/config/TestLanceConfig.java
+++
b/lance/lance-common/src/test/java/org/apache/gravitino/lance/common/config/TestLanceConfig.java
@@ -26,27 +26,6 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class TestLanceConfig {
- @Test
- public void testLoadLanceConfig() {
- Map<String, String> properties =
- ImmutableMap.of("gravitino.lance-rest.namespace-backend",
"test_catalog");
-
- LanceConfig lanceConfig = new LanceConfig();
- lanceConfig.loadFromMap(properties, k ->
k.startsWith("gravitino.lance-rest."));
- Assertions.assertEquals("gravitino", lanceConfig.getNamespaceBackend());
-
- LanceConfig lanceConfig2 = new LanceConfig(properties);
- Assertions.assertEquals("gravitino", lanceConfig2.getNamespaceBackend());
- }
-
- @Test
- public void testDefaultCatalogName() {
- // Test default namespace backend name when not specified
- Map<String, String> properties = ImmutableMap.of();
- LanceConfig lanceConfig = new LanceConfig(properties);
- Assertions.assertEquals("gravitino", lanceConfig.getNamespaceBackend());
- }
-
@Test
public void testLanceHttpPort() {
Map<String, String> properties = ImmutableMap.of();
@@ -74,18 +53,18 @@ public class TestLanceConfig {
// Test default values
Map<String, String> properties = ImmutableMap.of();
LanceConfig lanceConfig = new LanceConfig(properties);
- Assertions.assertEquals("http://localhost:8090",
lanceConfig.getNamespaceUri());
+ Assertions.assertEquals("http://localhost:8090",
lanceConfig.getNamespaceBackendUri());
Assertions.assertNull(lanceConfig.getGravitinoMetalake()); // No default,
must be configured
// Test custom values
properties =
ImmutableMap.of(
- LanceConfig.NAMESPACE_URI.getKey(),
+ LanceConfig.NAMESPACE_BACKEND_URI.getKey(),
"http://gravitino-server:8090",
LanceConfig.METALAKE_NAME.getKey(),
"production");
lanceConfig = new LanceConfig(properties);
- Assertions.assertEquals("http://gravitino-server:8090",
lanceConfig.getNamespaceUri());
+ Assertions.assertEquals("http://gravitino-server:8090",
lanceConfig.getNamespaceBackendUri());
Assertions.assertEquals("production", lanceConfig.getGravitinoMetalake());
}
@@ -94,7 +73,7 @@ public class TestLanceConfig {
// Test all configurations together for auxiliary mode
Map<String, String> properties =
ImmutableMap.<String, String>builder()
- .put(LanceConfig.NAMESPACE_URI.getKey(),
"http://gravitino-prod:8090")
+ .put(LanceConfig.NAMESPACE_BACKEND_URI.getKey(),
"http://gravitino-prod:8090")
.put(LanceConfig.METALAKE_NAME.getKey(), "production")
.put(LanceConfig.NAMESPACE_BACKEND.getKey(), "gravitino")
.put(JettyServerConfig.WEBSERVER_HTTP_PORT.getKey(), "9101")
@@ -103,8 +82,7 @@ public class TestLanceConfig {
LanceConfig lanceConfig = new LanceConfig(properties);
// Verify all config values
- Assertions.assertEquals("gravitino", lanceConfig.getNamespaceBackend());
- Assertions.assertEquals("http://gravitino-prod:8090",
lanceConfig.getNamespaceUri());
+ Assertions.assertEquals("http://gravitino-prod:8090",
lanceConfig.getNamespaceBackendUri());
Assertions.assertEquals("production", lanceConfig.getGravitinoMetalake());
JettyServerConfig jettyConfig = JettyServerConfig.fromConfig(lanceConfig);
diff --git a/lance/lance-rest-server/build.gradle.kts
b/lance/lance-rest-server/build.gradle.kts
index 0d7a2c9852..7befc28b35 100644
--- a/lance/lance-rest-server/build.gradle.kts
+++ b/lance/lance-rest-server/build.gradle.kts
@@ -26,7 +26,6 @@ plugins {
dependencies {
implementation(project(":api"))
- implementation(project(":catalogs:catalog-common"))
implementation(project(":common")) {
exclude("*")
}
diff --git
a/lance/lance-rest-server/src/main/java/org/apache/gravitino/lance/LanceRESTService.java
b/lance/lance-rest-server/src/main/java/org/apache/gravitino/lance/LanceRESTService.java
index 2d9f3e8823..8c800e49d6 100644
---
a/lance/lance-rest-server/src/main/java/org/apache/gravitino/lance/LanceRESTService.java
+++
b/lance/lance-rest-server/src/main/java/org/apache/gravitino/lance/LanceRESTService.java
@@ -48,6 +48,8 @@ public class LanceRESTService implements
GravitinoAuxiliaryService {
public static final String SERVICE_NAME = "lance-rest";
public static final String LANCE_SPEC = "/lance/*";
+ private static final String LANCE_REST_SPEC_PACKAGE =
"org.apache.gravitino.lance.service.rest";
+
private JettyServer server;
private NamespaceWrapper lanceNamespace;
@@ -70,7 +72,7 @@ public class LanceRESTService implements
GravitinoAuxiliaryService {
ResourceConfig resourceConfig = new ResourceConfig();
resourceConfig.register(JacksonFeature.class);
- resourceConfig.packages("org.apache.gravitino.lance.service.rest");
+ resourceConfig.packages(LANCE_REST_SPEC_PACKAGE);
resourceConfig.register(
new AbstractBinder() {
@Override