Clarity: MSSQL database error during getMessages() kills the Message Receiver thread

Document ID : KB000051240
Last Modified Date : 14/02/2018
Show Technical Document Details

Description:

DETAILS:

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.
Executed:
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.

TECHNICAL DETAILS:

See Attachment for complete error in bg-niku.log file

Solution:

WORKAROUND:

None

STATUS/RESOLUTION:

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

File Attachments:
TEC530981.zip