JDBC Driver error: Connection is bad - Store does not support rollback

  • 7025059
  • 24-Mar-2021
  • 24-Mar-2021

Environment


Identity Manager Driver - JDBC

Situation

When attempting to synchronize object changes from a connected database via a JDBC driver the following errors are received.  (see trace snipit below)

Driver is connected to a Read Only view in the database.

[03/19/21 16:35:28.313]:JDBCTest PT:CALLING PreparedStatement.clearParameters()
[03/19/21 16:35:28.313]:JDBCTest PT:CALLED
[03/19/21 16:35:28.313]:JDBCTest PT:CALLING Statement.ClearWarnings()
[03/19/21 16:35:28.313]:JDBCTest PT:CALLED
[03/19/21 16:35:28.314]:JDBCTest PT:BEGIN Test for bad connection.
[03/19/21 16:35:28.315]:JDBCTest PT:END   Test for bad connection.
[03/19/21 16:35:28.316]:JDBCTest PT:Connection is bad.
[03/19/21 16:35:28.317]:JDBCTest PT:Receiving DOM document from application.
[03/19/21 16:35:28.317]:JDBCTest PT:
<nds dtdversion="2.0" ndsversion="8.x" xmlns:jdbc="urn:dirxml:jdbc">
  <source>
    <product build="20180222_0550" instance="JDBCTest" version="4.1.0.0">DirXML Driver for JDBC</product>
    <contact>NetIQ Corporation</contact>
  </source>
  <input>
    <status level="error" type="driver-general">
      <description>java.lang.UnsupportedOperationException: Store does not support rollback</description>
      <jdbc:exception jdbc:class="java.lang.UnsupportedOperationException">
        <jdbc:message>Store does not support rollback</jdbc:message>
        <jdbc:stack-trace>java.lang.UnsupportedOperationException: Store does not support rollback
    at org.mapdb.DB.rollback(DB.kt:441)
    at com.novell.nds.dirxml.driver.jdbc.util.jdbm.JDBMFile.rollback(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.util.state.StateMediator.start(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCTriggerlessPublicationShim.waitForEvents(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCPublicationShim.pollImpl(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCPublicationShim.pollLoop(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCPublicationShim.start(Unknown Source)
    at com.novell.nds.dirxml.driver.jdbc.JDBCPublicationProxy.start(Unknown Source)
    at com.novell.nds.dirxml.engine.Publisher.run(Publisher.java:607)
    at java.lang.Thread.run(Thread.java:748)
</jdbc:stack-trace>
      </jdbc:exception>
    </status>
  </input>
</nds>

Resolution

Resolve the connection issue with the database.
Could be from bad connection configuration to the view, or from a bad database driver (jar file) for the connected database.

Cause

When a connection is determined to be bad by a driver, it will automatically attempt to do a rollback on the transaction.
As this is a Read Only view, that rollback attempt was unsuccessful, generating the associated error.
The real issue is to resolve the connection issue causing the connection is bad error in the trace.