Skip to content
Merged
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
059b82c
Fix bypass error in `LocalFileSystemProvider`
yuqi1129 Nov 26, 2025
8222866
feat(metadata): add indexes for improved query performance on metalak…
yuqi1129 Dec 9, 2025
46972c6
fix
yuqi1129 Dec 9, 2025
7759aa0
fix
yuqi1129 Dec 9, 2025
f14fa0a
fix
yuqi1129 Dec 9, 2025
d17009a
fix sql syntax problem
yuqi1129 Dec 9, 2025
3588943
Fix bugs
yuqi1129 Dec 9, 2025
61cdf41
fix
yuqi1129 Dec 10, 2025
202d36c
fix
yuqi1129 Dec 10, 2025
61cdc4c
Merge branch 'main' of github.com:datastrato/graviton into issue_9429
yuqi1129 Dec 23, 2025
02f4c95
Merge branch 'issue_9429' of github.com:yuqi1129/gravitino into issue…
yuqi1129 Dec 23, 2025
e251d20
fix
yuqi1129 Dec 23, 2025
0b76784
Polish the code.
yuqi1129 Dec 23, 2025
0d7b2b4
fix
yuqi1129 Dec 23, 2025
3d192ec
fix
yuqi1129 Dec 24, 2025
ac9aea4
fix
yuqi1129 Dec 24, 2025
b96155a
fix
yuqi1129 Dec 24, 2025
5b72cfb
fix
yuqi1129 Dec 24, 2025
fe1b70a
fix
yuqi1129 Dec 24, 2025
8920e84
fix
yuqi1129 Dec 24, 2025
29ac6fa
fix
yuqi1129 Dec 24, 2025
afdd63b
fix
yuqi1129 Dec 24, 2025
45d50b4
fix
yuqi1129 Dec 29, 2025
bbb28cb
Fix ci problem
yuqi1129 Dec 29, 2025
415dec6
Polish code.
yuqi1129 Dec 30, 2025
9c4e6b8
fix
yuqi1129 Dec 31, 2025
7bdfa0b
Fix
yuqi1129 Jan 4, 2026
5f93a66
Merge remote-tracking branch 'me/issue_9429' into issue_9429
yuqi1129 Jan 4, 2026
d077091
revert
yuqi1129 Jan 4, 2026
6d204be
fix
yuqi1129 Jan 4, 2026
156eaf9
Merge branch 'main' into issue_9429
yuqi1129 Jan 4, 2026
c555744
fix
yuqi1129 Jan 4, 2026
3fe94dc
Merge branch 'main' of github.com:apache/gravitino into issue_9429
yuqi1129 Jan 4, 2026
b74beb0
Merge remote-tracking branch 'me/issue_9429' into issue_9429
yuqi1129 Jan 4, 2026
2cdb7b9
Merge branch 'main' into issue_9429
yuqi1129 Jan 4, 2026
9bb993d
fix
yuqi1129 Jan 4, 2026
5bcfbbf
fix
yuqi1129 Jan 4, 2026
1b78a02
fix
yuqi1129 Jan 4, 2026
5275bc7
fix
yuqi1129 Jan 4, 2026
caecad6
fix
yuqi1129 Jan 4, 2026
135ac3f
fix
yuqi1129 Jan 5, 2026
6fc53c6
fix
yuqi1129 Jan 5, 2026
3f1d272
fix
yuqi1129 Jan 5, 2026
9c1c3d8
fix
yuqi1129 Jan 5, 2026
6ea5f26
fix
yuqi1129 Jan 5, 2026
6b72177
fix
yuqi1129 Jan 5, 2026
a029a2d
fix
yuqi1129 Jan 5, 2026
885195b
fix test error
yuqi1129 Jan 7, 2026
4b7d7dd
fix
yuqi1129 Jan 8, 2026
0457b9d
Merge branch 'issue_9249' of github.com:yuqi1129/gravitino into issue…
yuqi1129 Jan 8, 2026
1e05018
Fix.
yuqi1129 Jan 8, 2026
53b39da
fix format problem
yuqi1129 Jan 8, 2026
696a1c9
Merge branch 'issue_9429' of github.com:yuqi1129/gravitino into issue…
yuqi1129 Jan 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ private static CatalogInfo randomCatalogInfo(
}

@BeforeAll
public static void setUp() {
public static void setUp() throws IllegalAccessException {
Config config = Mockito.mock(Config.class);
when(config.get(ENTITY_STORE)).thenReturn(RELATIONAL_ENTITY_STORE);
when(config.get(ENTITY_RELATIONAL_STORE)).thenReturn(DEFAULT_ENTITY_RELATIONAL_STORE);
Expand Down Expand Up @@ -336,6 +336,8 @@ public static void setUp() {
schemaMetaServiceMockedStatic
.when(SchemaMetaService::getInstance)
.thenReturn(spySchemaMetaService);

FieldUtils.writeField(GravitinoEnv.getInstance(), "config", config, true);
}

@AfterAll
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@
import org.apache.gravitino.Configs;
import org.apache.gravitino.EntityStore;
import org.apache.gravitino.EntityStoreFactory;
import org.apache.gravitino.GravitinoEnv;
import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.Namespace;
import org.apache.gravitino.Schema;
Expand All @@ -80,6 +81,7 @@
import org.junit.jupiter.api.Test;
import org.mockito.MockedStatic;
import org.mockito.Mockito;
import org.testcontainers.shaded.org.apache.commons.lang3.reflect.FieldUtils;

public class TestKafkaCatalogOperations extends KafkaClusterEmbedded {

Expand Down Expand Up @@ -134,7 +136,7 @@ public PropertiesMetadata modelVersionPropertiesMetadata()
private static KafkaCatalogOperations kafkaCatalogOperations;

@BeforeAll
public static void setUp() {
public static void setUp() throws IllegalAccessException {
Config config = Mockito.mock(Config.class);
Mockito.when(config.get(STORE_TRANSACTION_MAX_SKEW_TIME)).thenReturn(1000L);
Mockito.when(config.get(STORE_DELETE_AFTER_TIME)).thenReturn(20 * 60 * 1000L);
Expand Down Expand Up @@ -210,6 +212,8 @@ public static void setUp() {
.build())
.build();

FieldUtils.writeField(GravitinoEnv.getInstance(), "config", config, true);

kafkaCatalogOperations = new KafkaCatalogOperations(store, idGenerator);
kafkaCatalogOperations.initialize(
MOCK_CATALOG_PROPERTIES, kafkaCatalogEntity.toCatalogInfo(), KAFKA_PROPERTIES_METADATA);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
import org.apache.gravitino.Configs;
import org.apache.gravitino.EntityStore;
import org.apache.gravitino.EntityStoreFactory;
import org.apache.gravitino.GravitinoEnv;
import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.Namespace;
import org.apache.gravitino.Schema;
Expand All @@ -67,6 +68,7 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.testcontainers.shaded.org.apache.commons.lang3.reflect.FieldUtils;

public class TestGenericCatalogOperations {
private static final String STORE_PATH =
Expand All @@ -79,7 +81,7 @@ public class TestGenericCatalogOperations {
private static GenericCatalogOperations ops;

@BeforeAll
public static void setUp() throws IOException {
public static void setUp() throws IOException, IllegalAccessException {
Config config = Mockito.mock(Config.class);
when(config.get(ENTITY_STORE)).thenReturn(RELATIONAL_ENTITY_STORE);
when(config.get(ENTITY_RELATIONAL_STORE)).thenReturn(DEFAULT_ENTITY_RELATIONAL_STORE);
Expand Down Expand Up @@ -132,6 +134,8 @@ public static void setUp() throws IOException {
.build();
store.put(catalog, false);

FieldUtils.writeField(GravitinoEnv.getInstance(), "config", config, true);

ops = new GenericCatalogOperations(store, idGenerator);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
import org.apache.gravitino.Configs;
import org.apache.gravitino.EntityStore;
import org.apache.gravitino.EntityStoreFactory;
import org.apache.gravitino.GravitinoEnv;
import org.apache.gravitino.NameIdentifier;
import org.apache.gravitino.Namespace;
import org.apache.gravitino.Schema;
Expand Down Expand Up @@ -83,6 +84,7 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
import org.testcontainers.shaded.org.apache.commons.lang3.reflect.FieldUtils;

public class TestModelCatalogOperations {

Expand All @@ -100,7 +102,7 @@ public class TestModelCatalogOperations {
private static ModelCatalogOperations ops;

@BeforeAll
public static void setUp() throws IOException {
public static void setUp() throws IOException, IllegalAccessException {
Config config = Mockito.mock(Config.class);
when(config.get(ENTITY_STORE)).thenReturn(RELATIONAL_ENTITY_STORE);
when(config.get(ENTITY_RELATIONAL_STORE)).thenReturn(DEFAULT_ENTITY_RELATIONAL_STORE);
Expand Down Expand Up @@ -158,6 +160,8 @@ public static void setUp() throws IOException {
.build();
store.put(catalog, false);

FieldUtils.writeField(GravitinoEnv.getInstance(), "config", config, true);

ops = new ModelCatalogOperations(store);
ops.initialize(
Collections.emptyMap(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ private ConfigConstants() {}
/** The version number for the 1.1.0 release. */
public static final String VERSION_1_1_0 = "1.1.0";

/** The version number for the 1.2.0 release. */
public static final String VERSION_1_2_0 = "1.2.0";

/** The current version of backend storage initialization script. */
public static final String CURRENT_SCRIPT_VERSION = VERSION_1_1_0;
public static final String CURRENT_SCRIPT_VERSION = VERSION_1_2_0;
}
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,33 @@ public interface FilesetMetaMapper {
@SelectProvider(type = FilesetMetaSQLProviderFactory.class, method = "listFilesetPOsBySchemaId")
List<FilesetPO> listFilesetPOsBySchemaId(@Param("schemaId") Long schemaId);

@Results({
@Result(property = "filesetId", column = "fileset_id", id = true),
@Result(property = "filesetName", column = "fileset_name"),
@Result(property = "metalakeId", column = "metalake_id"),
@Result(property = "catalogId", column = "catalog_id"),
@Result(property = "schemaId", column = "schema_id"),
@Result(property = "type", column = "type"),
@Result(property = "auditInfo", column = "audit_info"),
@Result(property = "currentVersion", column = "current_version"),
@Result(property = "lastVersion", column = "last_version"),
@Result(property = "deletedAt", column = "deleted_at"),
@Result(
property = "filesetVersionPOs",
javaType = List.class,
column =
"{id,version_metalake_id,version_catalog_id,version_schema_id,version_fileset_id,version,"
+ "fileset_comment,properties,storage_location_name,storage_location,version_deleted_at}",
many = @Many(resultMap = "mapToFilesetVersionPO"))
})
@SelectProvider(
type = FilesetMetaSQLProviderFactory.class,
method = "listFilesetPOsByFullQualifiedName")
List<FilesetPO> listFilesetPOsByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName);

@Results({
@Result(property = "filesetId", column = "fileset_id", id = true),
@Result(property = "filesetName", column = "fileset_name"),
Expand Down Expand Up @@ -160,6 +187,34 @@ FilesetPO selectFilesetMetaBySchemaIdAndName(
@SelectProvider(type = FilesetMetaSQLProviderFactory.class, method = "selectFilesetMetaById")
FilesetPO selectFilesetMetaById(@Param("filesetId") Long filesetId);

@Results({
@Result(property = "filesetId", column = "fileset_id", id = true),
@Result(property = "filesetName", column = "fileset_name"),
@Result(property = "metalakeId", column = "metalake_id"),
@Result(property = "catalogId", column = "catalog_id"),
@Result(property = "schemaId", column = "schema_id"),
@Result(property = "type", column = "type"),
@Result(property = "auditInfo", column = "audit_info"),
@Result(property = "currentVersion", column = "current_version"),
@Result(property = "lastVersion", column = "last_version"),
@Result(property = "deletedAt", column = "deleted_at"),
@Result(
property = "filesetVersionPOs",
javaType = List.class,
column =
"{id,version_metalake_id,version_catalog_id,version_schema_id,version_fileset_id,version,"
+ "fileset_comment,properties,storage_location_name,storage_location,version_deleted_at}",
many = @Many(resultMap = "mapToFilesetVersionPO"))
})
@SelectProvider(
type = FilesetMetaSQLProviderFactory.class,
method = "selectFilesetByFullQualifiedName")
FilesetPO selectFilesetByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName,
@Param("filesetName") String filesetName);

@InsertProvider(type = FilesetMetaSQLProviderFactory.class, method = "insertFilesetMeta")
void insertFilesetMeta(@Param("filesetMeta") FilesetPO filesetPO);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ public static String listFilesetPOsBySchemaId(@Param("schemaId") Long schemaId)
return getProvider().listFilesetPOsBySchemaId(schemaId);
}

public static String listFilesetPOsByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName) {
return getProvider().listFilesetPOsByFullQualifiedName(metalakeName, catalogName, schemaName);
}

public static String listFilesetPOsByFilesetIds(@Param("filesetIds") List<Long> filesetIds) {
return getProvider().listFilesetPOsByFilesetIds(filesetIds);
}
Expand All @@ -74,6 +81,15 @@ public static String selectFilesetMetaById(@Param("filesetId") Long filesetId) {
return getProvider().selectFilesetMetaById(filesetId);
}

public static String selectFilesetByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName,
@Param("filesetName") String filesetName) {
return getProvider()
.selectFilesetByFullQualifiedName(metalakeName, catalogName, schemaName, filesetName);
}

public static String insertFilesetMeta(@Param("filesetMeta") FilesetPO filesetPO) {
return getProvider().insertFilesetMeta(filesetPO);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,14 @@ public interface ModelMetaMapper {
@SelectProvider(type = ModelMetaSQLProviderFactory.class, method = "listModelPOsBySchemaId")
List<ModelPO> listModelPOsBySchemaId(@Param("schemaId") Long schemaId);

@SelectProvider(
type = ModelMetaSQLProviderFactory.class,
method = "listModelPOsByFullQualifiedName")
List<ModelPO> listModelPOsByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName);

@SelectProvider(type = ModelMetaSQLProviderFactory.class, method = "listModelPOsByModelIds")
List<ModelPO> listModelPOsByModelIds(@Param("modelIds") List<Long> modelIds);

Expand All @@ -49,6 +57,15 @@ public interface ModelMetaMapper {
ModelPO selectModelMetaBySchemaIdAndModelName(
@Param("schemaId") Long schemaId, @Param("modelName") String modelName);

@SelectProvider(
type = ModelMetaSQLProviderFactory.class,
method = "selectModelByFullQualifiedName")
ModelPO selectModelByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName,
@Param("modelName") String modelName);

@SelectProvider(
type = ModelMetaSQLProviderFactory.class,
method = "selectModelIdBySchemaIdAndModelName")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,13 @@ public static String listModelPOsBySchemaId(@Param("schemaId") Long schemaId) {
return getProvider().listModelPOsBySchemaId(schemaId);
}

public static String listModelPOsByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName) {
return getProvider().listModelPOsByFullQualifiedName(metalakeName, catalogName, schemaName);
}

public static String listModelPOsByModelIds(@Param("modelIds") List<Long> modelIds) {
return getProvider().listModelPOsByModelIds(modelIds);
}
Expand All @@ -72,6 +79,15 @@ public static String selectModelMetaBySchemaIdAndModelName(
return getProvider().selectModelMetaBySchemaIdAndModelName(schemaId, modelName);
}

public static String selectModelByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName,
@Param("modelName") String modelName) {
return getProvider()
.selectModelByFullQualifiedName(metalakeName, catalogName, schemaName, modelName);
}

public static String selectModelIdBySchemaIdAndModelName(
@Param("schemaId") Long schemaId, @Param("modelName") String modelName) {
return getProvider().selectModelIdBySchemaIdAndModelName(schemaId, modelName);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,12 @@ public interface SchemaMetaMapper {
@SelectProvider(type = SchemaMetaSQLProviderFactory.class, method = "listSchemaPOsByCatalogId")
List<SchemaPO> listSchemaPOsByCatalogId(@Param("catalogId") Long catalogId);

@SelectProvider(
type = SchemaMetaSQLProviderFactory.class,
method = "listSchemaPOsByFullQualifiedName")
List<SchemaPO> listSchemaPOsByFullQualifiedName(
@Param("metalakeName") String metalakeName, @Param("catalogName") String catalogName);

@SelectProvider(type = SchemaMetaSQLProviderFactory.class, method = "listSchemaPOsBySchemaIds")
List<SchemaPO> listSchemaPOsBySchemaIds(@Param("schemaIds") List<Long> schemaIds);

Expand All @@ -57,6 +63,14 @@ Long selectSchemaIdByCatalogIdAndName(
SchemaPO selectSchemaMetaByCatalogIdAndName(
@Param("catalogId") Long catalogId, @Param("schemaName") String name);

@SelectProvider(
type = SchemaMetaSQLProviderFactory.class,
method = "selectSchemaByFullQualifiedName")
SchemaPO selectSchemaByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName);

@SelectProvider(type = SchemaMetaSQLProviderFactory.class, method = "selectSchemaMetaById")
SchemaPO selectSchemaMetaById(@Param("schemaId") Long schemaId);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,11 @@ static class SchemaMetaMySQLProvider extends SchemaMetaBaseSQLProvider {}

static class SchemaMetaH2Provider extends SchemaMetaBaseSQLProvider {}

public static String listSchemaPOsByFullQualifiedName(
@Param("metalakeName") String metalakeName, @Param("catalogName") String catalogName) {
return getProvider().listSchemaPOsByFullQualifiedName(metalakeName, catalogName);
}

public static String listSchemaPOsBySchemaIds(@Param("schemaIds") List<Long> schemaIds) {
return getProvider().listSchemaPOsBySchemaIds(schemaIds);
}
Expand All @@ -69,6 +74,13 @@ public static String selectSchemaMetaByCatalogIdAndName(
return getProvider().selectSchemaMetaByCatalogIdAndName(catalogId, name);
}

public static String selectSchemaByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName) {
return getProvider().selectSchemaByFullQualifiedName(metalakeName, catalogName, schemaName);
}

public static String selectSchemaMetaById(@Param("schemaId") Long schemaId) {
return getProvider().selectSchemaMetaById(schemaId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,14 @@ public interface TableMetaMapper {
@SelectProvider(type = TableMetaSQLProviderFactory.class, method = "listTablePOsBySchemaId")
List<TablePO> listTablePOsBySchemaId(@Param("schemaId") Long schemaId);

@SelectProvider(
type = TableMetaSQLProviderFactory.class,
method = "listTablePOsByFullQualifiedName")
List<TablePO> listTablePOsByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName);

@SelectProvider(type = TableMetaSQLProviderFactory.class, method = "listTablePOsByTableIds")
List<TablePO> listTablePOsByTableIds(@Param("tableIds") List<Long> tableIds);

Expand All @@ -56,6 +64,15 @@ Long selectTableIdBySchemaIdAndName(
TablePO selectTableMetaBySchemaIdAndName(
@Param("schemaId") Long schemaId, @Param("tableName") String name);

@SelectProvider(
type = TableMetaSQLProviderFactory.class,
method = "selectTableByFullQualifiedName")
TablePO selectTableByFullQualifiedName(
@Param("metalakeName") String metalakeName,
@Param("catalogName") String catalogName,
@Param("schemaName") String schemaName,
@Param("tableName") String tableName);

@InsertProvider(type = TableMetaSQLProviderFactory.class, method = "insertTableMeta")
void insertTableMeta(@Param("tableMeta") TablePO tablePO);

Expand Down
Loading
Loading