SQLServer / DataDirect SQLCode=HYT00 not handled
------------------------------------------------

                 Key: OPENJPA-1969
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1969
             Project: OpenJPA
          Issue Type: Bug
          Components: sql
    Affects Versions: 2.1.0, 2.1.1, 2.2.0
            Reporter: Albert Lee
            Assignee: Albert Lee
             Fix For: 2.1.1, 2.2.0


When using SQLServer and DataDirect JDBC driver, HYT00 SQLCode was thrown from 
the DataDirect driver on client side time-out, however it is not being handled 
and caused the following exception to percolate to the client.

**Exception: Caught unexpected exception from find.
    org.apache.openjpa.persistence.PersistenceException:[DataDirect][SQLServer 
JDBC Driver]Execution timeout expired. {prepstmnt 47005644 SELECT t0.version, 
t1.id, t1.version, t1.ENTITYALAZY_ID, t1.strData, t0.strData FROM 
JPA20EMEntityA t0 WITH (UPDLOCK) LEFT OUTER JOIN JPA20EMEntityC t1 WITH 
(UPDLOCK) ON t0.id = t1.ENTITYA_ID WHERE t0.id = ? [params=?]} [code=0, 
state=HYT00]
FailedObject: 1 [org.apache.openjpa.util.IntId] [java.lang.String]
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.narrow(DBDictionary.java:4869)
        at 
org.apache.openjpa.jdbc.sql.DBDictionary.newStoreException(DBDictionary.java:4829)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:136)
        at 
org.apache.openjpa.jdbc.sql.SQLExceptions.getStore(SQLExceptions.java:86)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:338)
        at 
com.ibm.ws.persistence.jdbc.kernel.WsJpaJDBCStoreManager.initialize(WsJpaJDBCStoreManager.java:149)
        at 
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112)
        at 
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
        at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1026)
        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:984)
        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:901)
        at 
com.ibm.ws.persistence.kernel.WsJpaBrokerImpl.find(WsJpaBrokerImpl.java:212)
        at 
org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:231)
        at 
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:502)
        at 
suite.r80.base.jpaspec.entitymanager.testlogic.FindLockTestLogic.testScenarioL009(FindLockTestLogic.java:2161)
    .....

Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: 
[DataDirect][SQLServer JDBC Driver]Execution timeout expired. {prepstmnt 
47005644 SELECT t0.version, t1.id, t1.version, t1.ENTITYALAZY_ID, t1.strData, 
t0.strData FROM JPA20EMEntityA t0 WITH (UPDLOCK) LEFT OUTER JOIN JPA20EMEntityC 
t1 WITH (UPDLOCK) ON t0.id = t1.ENTITYA_ID WHERE t0.id = ? [params=?]} [code=0, 
state=HYT00]
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:281)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:265)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$700(LoggingConnectionDecorator.java:72)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:1183)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:284)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1785)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:274)
        at 
org.apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:499)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:424)
        at 
com.ibm.ws.persistence.jdbc.sql.SelectImpl.execute(SelectImpl.java:89)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:382)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getInitializeStateResult(JDBCStoreManager.java:576)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:378)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:333)
        ... 42 more
NestedThrowables:
java.sql.SQLTimeoutException: [DataDirect][SQLServer JDBC Driver]Execution 
timeout expired.
        at com.ddtek.jdbc.sqlserverbase.ddb7.b(Unknown Source)
        at com.ddtek.jdbc.sqlserverbase.ddb7.a(Unknown Source)
        at com.ddtek.jdbc.sqlserverbase.ddb6.b(Unknown Source)
        at com.ddtek.jdbc.sqlserverbase.ddb6.a(Unknown Source)
        at com.ddtek.jdbc.sqlserverbase.ddei.a(Unknown Source)
        at com.ddtek.jdbc.sqlserverbase.ddei.u(Unknown Source)
        at com.ddtek.jdbc.sqlserverbase.dddb.executeQuery(Unknown Source)
        at com.ddtek.jdbcx.sqlserverbase.ddm.executeQuery(Unknown Source)
        at 
com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteQuery(WSJdbcPreparedStatement.java:1129)
        at 
com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.executeQuery(WSJdbcPreparedStatement.java:731)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:286)
        at 
org.apache.openjpa.lib.jdbc.JDBCEventConnectionDecorator$EventPreparedStatement.executeQuery(JDBCEventConnectionDecorator.java:270)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:284)
        at 
org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingPreparedStatement.executeQuery(LoggingConnectionDecorator.java:1181)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:284)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager$CancelPreparedStatement.executeQuery(JDBCStoreManager.java:1785)
        at 
org.apache.openjpa.lib.jdbc.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:274)
        at 
org.apache.openjpa.jdbc.sql.SelectImpl.executeQuery(SelectImpl.java:499)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:424)
        at 
com.ibm.ws.persistence.jdbc.sql.SelectImpl.execute(SelectImpl.java:89)
        at org.apache.openjpa.jdbc.sql.SelectImpl.execute(SelectImpl.java:382)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.getInitializeStateResult(JDBCStoreManager.java:576)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initializeState(JDBCStoreManager.java:378)
        at 
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.initialize(JDBCStoreManager.java:333)
        at 
com.ibm.ws.persistence.jdbc.kernel.WsJpaJDBCStoreManager.initialize(WsJpaJDBCStoreManager.java:149)
        at 
org.apache.openjpa.kernel.DelegatingStoreManager.initialize(DelegatingStoreManager.java:112)
        at 
org.apache.openjpa.kernel.ROPStoreManager.initialize(ROPStoreManager.java:57)
        at org.apache.openjpa.kernel.BrokerImpl.initialize(BrokerImpl.java:1026)
        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:984)
        at org.apache.openjpa.kernel.BrokerImpl.find(BrokerImpl.java:901)
        at 
com.ibm.ws.persistence.kernel.WsJpaBrokerImpl.find(WsJpaBrokerImpl.java:212)
        at 
org.apache.openjpa.kernel.DelegatingBroker.find(DelegatingBroker.java:231)
        at 
org.apache.openjpa.persistence.EntityManagerImpl.find(EntityManagerImpl.java:502)
        at 
suite.r80.base.jpaspec.entitymanager.testlogic.FindLockTestLogic.testScenarioL009(FindLockTestLogic.java:2161)


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to