The message receiver thread dies after receiving a database error which causes Messaging to stop working in the Clarity services. All processes are stalled.
Customers experiencing this issue will see errors in the bg-niku.log that start with:
ERROR 2009-10-13 17:02:45,015 [NMS Message Receiver] bpm.eventmgr (none:none:none) Cannot read messages. Will try again later. com.niku.union.bpm.messageserver.MessageServerException: getMessages - Cannot get messages
Farther down in the error:
Caused by: com.niku.union.persistence.PersistenceException: SQL error code: 21
Error message: [CA Clarity][SQLServer JDBC Driver][SQLServer]Warning: Fatal error 7105 occurred at Oct 13 2009 5:02PM. Note the error and time, and contact your system administrator.
SELECT * FROM NMS_MESSAGES WITH (READCOMMITTED)
WHERE TOPIC = ? AND ID NOT IN (SELECT MESSAGE_ID FROM NMS_MESSAGE_DELIVERY WHERE TARGET = ?)
STEPS TO REPRODUCE:
1. Wait for a database error to occur while the message receiver tries to call getMessages().
EXPECTED RESULTS: The error should be trapped and the message receiver thread should continue running
ACTUAL RESULTS: The error is not trapped which results in a null pointer error that causes the message receiver thread to die.
See Attachment for complete error in bg-niku.log file
This issue has been documented as CLRT-46080 and is fixed in Clarity 12.0.6. If you are experiencing this problem and the workaround above does not significantly help, please contact CA Clarity Technical Support.
KEYWORDS: processes, CLRT-46080, clarity12resolved, bpm, messages, message receiver thread, MSSQL, getMessages, SQL error code: 21, Warning: Fatal error 7105 occurred