search cancel

Identity Manager JBoss Failing to Start on Step 4 SQLRecoverableException: Closed Connection

book

Article ID: 230176

calendar_today

Updated On:

Products

CA Identity Manager

Issue/Introduction

When starting the application an error occurs after "Startup Step 4 : Attempting to start EnvironmentService" start up step, and takes approximately 20 minutes before it logs the error "java.sql.SQLRecoverableException: Closed Connection". After being logged, the server attempts to shut down but fails with a "java.lang.NullPointerException" error.

We are asking for assistance in determining what the cause of this issue could be, as well as any resolutions we could attempt to work on resolving this issue. Below is a log of the errors we are seeing in our JBoss server.log file.

2021-11-22 14:01:32,504 ERROR [ims.jdbc.JDBCManagedObjectProvider] (ServerService Thread Pool -- 108) java.sql.SQLRecoverableException: Closed Connection2021-11-22 14:01:32,506 ERROR [ims.Main] (ServerService Thread Pool -- 108) The IAM FW Startup was not successful2021-11-22 14:01:32,506 ERROR [ims.Main] (ServerService Thread Pool -- 108) java.sql.SQLRecoverableException: Closed Connection        at oracle.jdbc.driver.PhysicalConnection.getMetaData(PhysicalConnection.java:2408)

2021-11-22 14:01:32,513 ERROR [stderr] (ServerService Thread Pool -- 108) java.sql.SQLRecoverableException: Closed Connection

Environment

Release : 14.4

Component :

Resolution

The client configured their standalone.xml to have the below configuration for an Oracle Database:

<validation>
    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleValidConnectionChecker"/>
    <check-valid-connection-sql>select 1 from dual</check-valid-connection-sql>
    <validate-on-match>false</validate-on-match>
    <background-validation>true</background-validation>
    <background-validation-millis>1000</background-validation-millis>
    <stale-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleStaleConnectionChecker"/>
    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.oracle.OracleExceptionSorter"/>
</validation>
<timeout>
    <set-tx-query-timeout>true</set-tx-query-timeout>
    <idle-timeout-minutes>8</idle-timeout-minutes>
    <query-timeout>300</query-timeout>
    <allocation-retry>3</allocation-retry>
    <allocation-retry-wait-millis>1000</allocation-retry-wait-millis>
</timeout>

If errors still persist also modify:

<validate-on-match>false</validate-on-match>

to

<validate-on-match>true</validate-on-match>

this will force the application to challenge SQL connections upon request.

Additional Information

Closed Connection: java.sql.SQLRecoverableException: Closed Connection is usually caused by either the SQL server closing connections on the IDM product or a firewall.

The first changes for the class modifications are for Oracle only while the Validate-On-Match can be performed against all supported SQL databases.