[ https://issues.apache.org/jira/browse/FLINK-19435?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17245317#comment-17245317 ]
Jark Wu commented on FLINK-19435: --------------------------------- Hi [~kezhuw]. "This could be useful if clients want to switch between different drivers for one database." Do you have use cases that show switching different drivers is useful? "but it is an required field in JdbcConnectionOptions which is PublicEvolving." I just noticed this. Well, this is sad. cc [~roman_khachatryan] do you know why we require the driverName in JdbcConnectionOptions? Is there any strong use cases depends on this? > 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)