This is an automated email from the ASF dual-hosted git repository. huaxingao pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/iceberg.git
The following commit(s) were added to refs/heads/main by this push: new 82cad78a9a backport #13821. (#13849) 82cad78a9a is described below commit 82cad78a9ad6e413a2047bef33b08ae8bfcc856f Author: slfan1989 <55643692+slfan1...@users.noreply.github.com> AuthorDate: Mon Aug 18 14:51:04 2025 +0800 backport #13821. (#13849) --- .../flink/maintenance/api/JdbcLockFactory.java | 19 +++++++++++-------- .../flink/maintenance/api/JdbcLockFactory.java | 19 +++++++++++-------- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java b/flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java index c06c584089..f68605accc 100644 --- a/flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java +++ b/flink/v1.19/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java @@ -127,21 +127,24 @@ public class JdbcLockFactory implements TriggerLockFactory { pool.run( conn -> { DatabaseMetaData dbMeta = conn.getMetaData(); - ResultSet tableExists = + try (ResultSet rs = dbMeta.getTables( null /* catalog name */, null /* schemaPattern */, LOCK_TABLE_NAME /* tableNamePattern */, - null /* types */); - if (tableExists.next()) { - LOG.debug("Flink maintenance lock table already exists"); - return true; + null /* types */)) { + if (rs.next()) { + LOG.debug("Flink maintenance lock table already exists"); + return true; + } } - LOG.info("Creating Flink maintenance lock table {}", LOCK_TABLE_NAME); - return conn.prepareStatement(CREATE_LOCK_TABLE_SQL).execute(); - }); + try (PreparedStatement ps = conn.prepareStatement(CREATE_LOCK_TABLE_SQL)) { + ps.execute(); + } + return true; + }); } catch (SQLTimeoutException e) { throw new UncheckedSQLException( e, "Cannot initialize JDBC table maintenance lock: Query timed out"); diff --git a/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java b/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java index c06c584089..f68605accc 100644 --- a/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java +++ b/flink/v1.20/flink/src/main/java/org/apache/iceberg/flink/maintenance/api/JdbcLockFactory.java @@ -127,21 +127,24 @@ public class JdbcLockFactory implements TriggerLockFactory { pool.run( conn -> { DatabaseMetaData dbMeta = conn.getMetaData(); - ResultSet tableExists = + try (ResultSet rs = dbMeta.getTables( null /* catalog name */, null /* schemaPattern */, LOCK_TABLE_NAME /* tableNamePattern */, - null /* types */); - if (tableExists.next()) { - LOG.debug("Flink maintenance lock table already exists"); - return true; + null /* types */)) { + if (rs.next()) { + LOG.debug("Flink maintenance lock table already exists"); + return true; + } } - LOG.info("Creating Flink maintenance lock table {}", LOCK_TABLE_NAME); - return conn.prepareStatement(CREATE_LOCK_TABLE_SQL).execute(); - }); + try (PreparedStatement ps = conn.prepareStatement(CREATE_LOCK_TABLE_SQL)) { + ps.execute(); + } + return true; + }); } catch (SQLTimeoutException e) { throw new UncheckedSQLException( e, "Cannot initialize JDBC table maintenance lock: Query timed out");