This is an automated email from the ASF dual-hosted git repository.
pchenxi 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 b65b43bf54 [#8508]: improvement(spark-connector): prevent NPE in
createNamespace by checking for null metadata (#8512)
b65b43bf54 is described below
commit b65b43bf54c66d490bbcd71e85b4c8244c9a306e
Author: Khawaja Abdullah Ansar <[email protected]>
AuthorDate: Fri Sep 12 11:02:28 2025 +0500
[#8508]: improvement(spark-connector): prevent NPE in createNamespace by
checking for null metadata (#8512)
### What changes were proposed in this pull request?
Adding a null check on metadata map during namespace creation.
### Why are the changes needed?
If metadata is null, it can produce an NPE on `metadata.isEmpty()` check
Fix: #8508
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
N/A
---
.../apache/gravitino/spark/connector/jdbc/GravitinoJdbcCatalog.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
a/spark-connector/spark-common/src/main/java/org/apache/gravitino/spark/connector/jdbc/GravitinoJdbcCatalog.java
b/spark-connector/spark-common/src/main/java/org/apache/gravitino/spark/connector/jdbc/GravitinoJdbcCatalog.java
index 3f36b9a2a8..b50361c5a2 100644
---
a/spark-connector/spark-common/src/main/java/org/apache/gravitino/spark/connector/jdbc/GravitinoJdbcCatalog.java
+++
b/spark-connector/spark-common/src/main/java/org/apache/gravitino/spark/connector/jdbc/GravitinoJdbcCatalog.java
@@ -21,6 +21,7 @@ package org.apache.gravitino.spark.connector.jdbc;
import com.google.common.collect.Maps;
import java.util.Map;
+import org.apache.commons.collections4.MapUtils;
import org.apache.gravitino.spark.connector.PropertiesConverter;
import org.apache.gravitino.spark.connector.SparkTransformConverter;
import org.apache.gravitino.spark.connector.SparkTypeConverter;
@@ -85,7 +86,7 @@ public class GravitinoJdbcCatalog extends BaseCatalog {
public void createNamespace(String[] namespace, Map<String, String> metadata)
throws NamespaceAlreadyExistsException {
Map<String, String> properties = Maps.newHashMap();
- if (!metadata.isEmpty()) {
+ if (MapUtils.isNotEmpty(metadata)) {
metadata.forEach(
(k, v) -> {
switch (k) {