KB Article #178321

Admin service crashes after generating Internal CA when running ST with external MSSQL database

Problem

The admin services stops working while generating Internal CA in ST with external MSSQL database. The generation of new Internal CA takes over a minute after which the admin service stops working. In the catalina.out log we can see a message like this:


Coherence <Error>: Halting JVM due to unrecoverable service failure


The issue is not know to occur on ST with embedded MySQL database or external Oracle database.

Resolution

This error condition occurs when the MSSQL database does not have the READ_COMMITED transaction encapsulation level with READ_COMMITED_SNAPSHOT option enabled. Because of this during the generation of the Internal CA one transaction is locking database resources read in another transaction. When the READ_COMMITED_SNAPSHOT is not enabled, the second transaction is forced to wait a very long time. The Coherence Service Guardian process treats this as a dead lock condition and halts the Admin JVM process, effectively stopping the admin service.


The READ_COMMITED_SNAPSHOT option is a required prerequisite during the installation of ST. To check if it is enabled you can execute the following query:


SELECT is_read_committed_snapshot_on FROM sys.databases WHERE name = yourdatabase


To turn on the READ_COMMITTED_SNAPSHOT option, use the following statement:


ALTER DATABASE yourdatabase SET READ_COMMITTED_SNAPSHOT ON