[
https://issues.apache.org/jira/browse/DERBY-3074?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kathey Marsden updated DERBY-3074:
----------------------------------
Attachment: derby-3074_3075_stat.txt
derby-3074_3075_diff.txt
Attached is a patch for this issue and also DERBY-3075. I change
SQLExceptionFactory40 for client and embedded to throw
SQLNonTransientConnectionException instead of SQLTransientConnectionException
for '08' exceptions. Added test for embedded database shutdown and client
connect to server that is not up to ensure that they throw
SQLNonTransientConnectionException.
I am running tests now.
> Database shutdown exception 08006 throws SQLTransientConnectionException
> instead of SQLNonTransientConnectionException
> ----------------------------------------------------------------------------------------------------------------------
>
> Key: DERBY-3074
> URL: https://issues.apache.org/jira/browse/DERBY-3074
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.2.2.0, 10.3.1.4, 10.4.0.0
> Reporter: Kathey Marsden
> Assignee: Kathey Marsden
> Attachments: derby-3074_3075_diff.txt, derby-3074_3075_stat.txt,
> DerbyEmbeddedException.java
>
>
> SQLNonTransientConnectionException is described as:
> The subclass of SQLException thrown for the SQLState class value '08',
> representing that the connection operation that failed will not succeed when
> the operation is retried without the cause of the failure being corrected.
> See repro DerbyEmbeddedException.java
> Yet, database shutdown which is SQLState 8006 throws an
> SQLTransientConnectionSQLException
> 10.4.0.0 alpha - (1)
> Apache Derby
> got connection now shutdown
> 08006:Database 'sampl127' shutdown.
> Exception in thread "main" java.sql.SQLTransientConnectionException: Database
> 'sampl127' shutdown.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:76)
> at
> org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:202)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:1574)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:385)
> at
> org.apache.derby.impl.jdbc.EmbedConnection30.<init>(EmbedConnection30.java:73)
> at
> org.apache.derby.impl.jdbc.EmbedConnection40.<init>(EmbedConnection40.java:54)
> at
> org.apache.derby.jdbc.Driver40.getNewEmbedConnection(Driver40.java:68)
> at
> org.apache.derby.jdbc.InternalDriver.connect(InternalDriver.java:211)
> at
> org.apache.derby.jdbc.AutoloadedDriver.connect(AutoloadedDriver.java:119)
> at java.sql.DriverManager.getConnection(DriverManager.java:582)
> at java.sql.DriverManager.getConnection(DriverManager.java:207)
> at DerbyEmbeddedException.main(DerbyEmbeddedException.java:29)
> Caused by: java.sql.SQLException: Database 'sampl127' shutdown.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:13
> 5)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
> ... 13 more
> Caused by: ERROR 08006: Database 'sampl127' shutdown.
> at
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.shutdownDatabaseException(TransactionResourceImpl.java:224
> )
> at
> org.apache.derby.impl.jdbc.EmbedConnection.<init>(EmbedConnection.java:355)
> ... 8 more
> [C:/kmarsden/repro/NonTransientException] java or
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.