Flink: Fix ResultSet resource leak in JdbcLockFactory.initializeLockTables().#13821
Conversation
|
@pvary @Guosmilesmile @mxm This is a relatively minor change, but I believe it is still necessary, as the current implementation does not release resources after using the |
| try (PreparedStatement ps = conn.prepareStatement(CREATE_LOCK_TABLE_SQL)) { | ||
| ps.execute(); | ||
| } | ||
| return true; |
There was a problem hiding this comment.
Thank you for helping review the code! I have already fixed this issue.
|
@slfan1989: good catch! Thanks for reporting and fixing |
@pvary @stevenzwu Thank you very much for reviewing this PR. I’ve re-triggered the build, and the results now look as expected. Could you please help review this PR again? |
|
thanks @slfan1989 for the fix and everyone for the review |
Thank you all for your reviews and feedback on this PR! |
Problem
In
JdbcLockFactory#initializeLockTables(), theResultSetreturned byDatabaseMetaData#getTables(...)is not closed explicitly. This can lead to resource leaks (open cursors/handles) on certain JDBC drivers and databases.Changes
ResultSetin a try-with-resources block to ensure it is always closed.