EMS server was not able to startup after the DB file was corrupted due the system going down.

EMS server was not able to startup after the DB file was corrupted due the system going down.

book

Article ID: KB0093753

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Description:
Thedb file (async-msgs.db) was corrupted because the system went down unexpectedly, After the system came back and restarting EMS server, the EMS server was at 100% CPU usage and was hung , throwing the error: "SEVERE ERROR: Persisted message possibly corrupted: no sequence id".
Symptoms:
The EMS server used 100% CPU and the EMS server threw the following error: "SEVERE ERROR: Persisted message possibly corrupted: no sequence id".
Cause:
The DB corruption was caused because EMS server can not interpret a parsing corrupted message. In this case, the file CRC checking was disabled, so the EMS server was stuck at parsing the corrupted message and could not stop the recovery.



 






Issue/Introduction

EMS server was not able to startup after the DB file was corrupted due the system going down.

Resolution

If the file_crc checking was enabled, the EMS server can uses CRC to validate data integrity first and stop recovery when detecting a corrupted record using CRC checking. When you encountering this, you can stop the EMS server and enable the option for the EMS server to validate CRC checksum data when reading the store files:

store_crc=enabled
(old parameter defined in EMS main conf file. Depreciated since EMS 5.0. Removed since EMS 7.0 .

file_crc?enabled
(stores.conf)

Start the EMS server. It will be able to detect the corrupted record and stop the recovery. If you start the EMS server with the "-forceStart" option, it will remove the corrupted record and move to the next record. Then the EMS server will start up.