[ 
https://issues.apache.org/jira/browse/FLINK-30371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Echo Lee updated FLINK-30371:
-----------------------------
    Description: 
When writing to the target table fails for some reason, for example, the target 
table does not exist.

The internal call sequence of JdbcOutputFormat is:
JdbcOutputFormat#flush(throws IOException) --> JdbcOutputFormat#close --> 
JdbcOutputFormat#flush(throws RuntimeException).

Will not call the close method of the database connection, when the restart 
strategy is fixeddelay, maxNumberRestartAttempts is Integer.MAX, this will 
cause the number of database connections to continue to rise and reach the 
limit.

 

  was:
When writing to the target table fails for some reason, for example, the target 
table does not exist.

The internal call sequence of JdbcOutputFormat is:
JdbcOutputFormat#flush(throws IOException) --> JdbcOutputFormat#close --> 
JdbcOutputFormat#flush(throws RuntimeException).

Will not call the close method of the database connection, this will cause the 
number of database connections to continue to rise and reach the limit.


> JdbcOutputFormat is at risk of database connection leaks
> --------------------------------------------------------
>
>                 Key: FLINK-30371
>                 URL: https://issues.apache.org/jira/browse/FLINK-30371
>             Project: Flink
>          Issue Type: Bug
>          Components: Connectors / JDBC
>    Affects Versions: 1.16.0, 1.16.1, jdbc-3.0.0
>            Reporter: Echo Lee
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: jdbc-3.0.0
>
>
> When writing to the target table fails for some reason, for example, the 
> target table does not exist.
> The internal call sequence of JdbcOutputFormat is:
> JdbcOutputFormat#flush(throws IOException) --> JdbcOutputFormat#close --> 
> JdbcOutputFormat#flush(throws RuntimeException).
> Will not call the close method of the database connection, when the restart 
> strategy is fixeddelay, maxNumberRestartAttempts is Integer.MAX, this will 
> cause the number of database connections to continue to rise and reach the 
> limit.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to