This is an automated email from the ASF dual-hosted git repository.
yuqi1129 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new d8e65d749f [#11350] improvement(deps): Upgrade h2 database to 2.2.224
(#11351)
d8e65d749f is described below
commit d8e65d749fe3ee31562e204d70a29378525b4ad8
Author: geyanggang <[email protected]>
AuthorDate: Fri Jun 5 14:37:29 2026 +0800
[#11350] improvement(deps): Upgrade h2 database to 2.2.224 (#11351)
### What changes were proposed in this pull request?
1. Upgrade h2 from 1.4.200 to 2.2.224 in libs.versions.toml.
2. Fix implicit JOIN syntax in `TagMetadataObjectRelBaseSQLProvider` —
change `A JOIN B JOIN C ON ...` to `A JOIN B ON ... JOIN C ON ...` to
comply with H2 2.x strict SQL parsing. This aligns with the existing
PostgreSQL provider implementation.
### Why are the changes needed?
The h2 1.4.200 is outdated and no longer maintained. Upgrading to
2.2.224 improves stability. The JOIN syntax fix is required because H2
2.x enforces standard SQL JOIN semantics where each JOIN must have its
own ON clause.
Fix: #11350
### Does this PR introduce _any_ user-facing change?
No. H2 is used as the default embedded storage backend for
development/testing. Production deployments typically use MySQL or
PostgreSQL.
### How was this patch tested?
- `./gradlew :core:test -PskipITs` — all tests passed
- `./gradlew :maintenance:updaters:test :maintenance:optimizer:test
-PskipITs` — passed
- `./gradlew :authorizations:authorization-common:test -PskipITs` —
passed
- `./gradlew :clients:client-java:test -PskipITs` — passed
- `./gradlew :iceberg:iceberg-rest-server:test -PskipITs` — passed
---
.../mapper/provider/base/TagMetadataObjectRelBaseSQLProvider.java | 4 ++--
gradle/libs.versions.toml | 2 +-
maintenance/jobs/build.gradle.kts | 3 +++
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/TagMetadataObjectRelBaseSQLProvider.java
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/TagMetadataObjectRelBaseSQLProvider.java
index ebfd6f734e..ed6aca6f11 100644
---
a/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/TagMetadataObjectRelBaseSQLProvider.java
+++
b/core/src/main/java/org/apache/gravitino/storage/relational/mapper/provider/base/TagMetadataObjectRelBaseSQLProvider.java
@@ -83,9 +83,9 @@ public class TagMetadataObjectRelBaseSQLProvider {
+ TagMetadataObjectRelMapper.TAG_METADATA_OBJECT_RELATION_TABLE_NAME
+ " te JOIN "
+ TagMetaMapper.TAG_TABLE_NAME
- + " tm JOIN "
+ + " tm ON te.tag_id = tm.tag_id JOIN "
+ MetalakeMetaMapper.TABLE_NAME
- + " mm ON te.tag_id = tm.tag_id AND tm.metalake_id = mm.metalake_id"
+ + " mm ON tm.metalake_id = mm.metalake_id"
+ " WHERE mm.metalake_name = #{metalakeName} AND tm.tag_name =
#{tagName}"
+ " AND te.deleted_at = 0 AND tm.deleted_at = 0 AND mm.deleted_at = 0";
}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index a28060485e..233da7623d 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -96,7 +96,7 @@ immutables-value = "2.11.7"
selenium = "4.33.0"
rauschig = "1.2.0"
mybatis = "3.5.6"
-h2db = "1.4.200"
+h2db = "2.2.224"
kafka = "3.4.0"
curator = "2.12.0"
awaitility = "4.2.1"
diff --git a/maintenance/jobs/build.gradle.kts
b/maintenance/jobs/build.gradle.kts
index 203494f128..5d44c3f637 100644
--- a/maintenance/jobs/build.gradle.kts
+++ b/maintenance/jobs/build.gradle.kts
@@ -91,6 +91,9 @@ tasks.withType(ShadowJar::class.java) {
archiveClassifier.set("")
mergeServiceFiles()
+ // Exclude Java 21 multi-release classes to avoid ASM compatibility issues
with shadow plugin
+ exclude("META-INF/versions/21/**")
+
dependencies {
relocate("com.google", "org.apache.gravitino.shaded.com.google")
relocate("org.apache.commons",
"org.apache.gravitino.shaded.org.apache.commons")