[ 
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.

 
{code:java}
2022-12-07 10:49:32,050 ERROR 
org.apache.flink.connector.jdbc.internal.JdbcBatchingOutputFormat [] - JDBC 
executeBatch error, retry times = 3
java.sql.BatchUpdateException: ORA-00942: table or view does not exist{code}
{code:java}
Caused by: java.sql.SQLException: Listener refused the connection with the 
following error:
ORA-12519, TNS:no appropriate service handler found {code}

  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, 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.

 
{code:java}
2022-12-07 10:49:32,050 ERROR 
org.apache.flink.connector.jdbc.internal.JdbcBatchingOutputFormat [] - JDBC 
executeBatch error, retry times = 3
java.sql.BatchUpdateException: ORA-00942: table or view does not exist{code}
 
{code:java}
Caused by: java.sql.SQLException: Listener refused the connection with the 
following error:
ORA-12519, TNS:no appropriate service handler found {code}
 


> 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.
>  
> {code:java}
> 2022-12-07 10:49:32,050 ERROR 
> org.apache.flink.connector.jdbc.internal.JdbcBatchingOutputFormat [] - JDBC 
> executeBatch error, retry times = 3
> java.sql.BatchUpdateException: ORA-00942: table or view does not exist{code}
> {code:java}
> Caused by: java.sql.SQLException: Listener refused the connection with the 
> following error:
> ORA-12519, TNS:no appropriate service handler found {code}



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

Reply via email to