[ https://issues.apache.org/jira/browse/FLINK-19435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17245632#comment-17245632 ]
Jingsong Lee commented on FLINK-19435: -------------------------------------- Thanks all for your discussions. I prefer to keep the driver class customization. I think customized driver is needed since JDBC has exposed the ability of driver. There is another way to solve this deadlock problem, we can initialize DriverManager first before loading JDBC Drivers like Storm and Spark do: https://issues.apache.org/jira/browse/STORM-2527 https://issues.apache.org/jira/browse/SPARK-23186 What do you think? > jdbc JDBCOutputFormat open function invoke Class.forName(drivername) > -------------------------------------------------------------------- > > Key: FLINK-19435 > URL: https://issues.apache.org/jira/browse/FLINK-19435 > Project: Flink > Issue Type: Improvement > Components: Connectors / JDBC > Affects Versions: 1.10.2 > Reporter: xiaodao > Priority: Major > Fix For: 1.13.0, 1.12.1 > > Attachments: image-2020-10-09-20-48-48-261.png, > image-2020-10-09-20-49-23-644.png > > > when we sink data to multi jdbc outputformat , > {code} > protected void establishConnection() throws SQLException, > ClassNotFoundException { > Class.forName(drivername); > if (username == null) { > connection = DriverManager.getConnection(dbURL); > } else { > connection = DriverManager.getConnection(dbURL, username, password); > } > } > {code} > may cause jdbc driver deadlock. it need to change to synchronized function. -- This message was sent by Atlassian Jira (v8.3.4#803005)