[ https://issues.apache.org/jira/browse/FLINK-17545?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17327847#comment-17327847 ]
Flink Jira Bot commented on FLINK-17545: ---------------------------------------- This major issue is unassigned and itself and all of its Sub-Tasks have not been updated for 30 days. So, it has been labeled "stale-major". If this ticket is indeed "major", please either assign yourself or give an update. Afterwards, please remove the label. In 7 days the issue will be deprioritized. > Resource leak JDBCUpsertOutputFormat > ------------------------------------ > > Key: FLINK-17545 > URL: https://issues.apache.org/jira/browse/FLINK-17545 > Project: Flink > Issue Type: Improvement > Components: Connectors / JDBC > Affects Versions: 1.10.0 > Reporter: John Lonergan > Priority: Major > Labels: stale-major > > See also FLINK-17544 for background to this scenario. > Synchronisation in JDBCUpsertOutputFormat allows resources leaks. > The close() method is synchronised with write() and flush() but not open. > So if open() is a slow call (which in my case it occasionally is) then it may > not be complete when close() is called. > In this situation the open() method will eventually proceed to open resources > such as database connections that will never be closed by the program. > So if we are +not+ going to synchronise open() with the other methods then an > alternative approach would be to have open() do a double check before > returning. > ie Just before open() completes it would need to synchonise and then check if > close has already been called whilst open() was running. > If so then open() should proceed to undo any resources it has just opened. > One could perhaps argue that there's a problem with the state model if the > framework might call close before open has completed; but I can imagine why > this happens. > However, the must therefore deal with the consequential complexity of this > deal with the threading issues effectively. -- This message was sent by Atlassian Jira (v8.3.4#803005)