BWC Workflow Server fails to start IC Processes such as IcWorker, IcDispatcher and IcNotifier.

BWC Workflow Server fails to start IC Processes such as IcWorker, IcDispatcher and IcNotifier.

book

Article ID: KB0090233

calendar_today

Updated On:

Products Versions
TIBCO BusinessWorks Collaborator -
Not Applicable -

Description

Description:
Workflow server fails to start IC Processes such as IcWorker, IcDispatcher and IcNotifier and any of these processes goes into a defunct state. Workflow server could not start successfully.
Symptoms:
The following error will be seen in the IC debug log.

****
14:58:53 (disp) 15259 t001: debug: logServerShutdownEvent - event.log failed -- <Error, Client, 21000>: Invalid Event Type
****

And following error in IC status log

****
2003 Aug 06 09:02:24:000 GMT -0400 WorkflowServer Info IC Status Log Header V4.0
2013 May 08 14:54:47:000 GMT +0200 WorkflowServer Error 3 1 14000 15259 2 77 77 0 Dispatcher User Does Not Exist.
2013 May 08 14:54:47:000 GMT +0200 WorkflowServer Error 3 1 14000 15264 2 55 55 0 Event/Action Daemon User Does Not Exist.
2013 May 08 14:54:47:000 GMT +0200 WorkflowServer Error 3 1 21000 15264 2 55 55 0 Event/Action Daemon Invalid Event Type
****
Cause:
The cause is updating the SERVER_NUMBER or INIT_DB_VERSION in SERVER_NAMES table. Any time you change the SERVER_NUMBER or INIT_DB_VERSION from the ORIGINAL value used when the database was initialized you invalidate the database. The reason for this is all object ids created are based on the seed of the SERVER_NUMBER and INIT_DB_VERSION. Changing the values causes the server to lose essential system objects such as Permanent Job, EMPTY_POOL and icdba.

Issue/Introduction

BWC Workflow Server fails to start IC Processes such as IcWorker, IcDispatcher and IcNotifier.

Resolution

Run the following queries against the Workflow database.

1). select job_id, name from jobs where name='Permanent Job' OR name='BASE JOB TEMPLATE';
JOB_ID                    NAME
---------------------------------------------------------------
00000017000004630000000100000400    BASE JOB TEMPLATE
00000017000004630000000100000807    Permanent Job

2). select server_number, init_db_version from server_names;
SERVER_NUMBER    INIT_DB_VERSION
--------------------------------
1123        23

The JOB_ID is in hexadecimal contains SERVER_NUMBER and INIT_DB_VERSION. Format JOB_ID with space as below

00000017  00000463  0000000100000400

00000017 (hexadecimal) is INIT_DB_VERSION value '23' (decimal).
00000463 (hexadecimal) is SERVER_NUMBER value '1123' (decimal).

SERVER_NUMBER and INIT_DB_VERSION are embedded in JOB_ID as hexadecimal while values in SERVER_NAMES are in decimal. If there is a mismatch then the error is thrown. The solution is to update the SERVER_NAMES table respectively using an SQL query.

Example:

"UPDATE SERVER_NAMES set SERVER_NUMBER = XXXXX;" where XXXX is replaced by decimal value. 

Additionally, make sure SERVER_ID in the icconfig.xml file (<bwc-home>/server/<server-name>/conf) matches with SERVER_NUMBER. Similarly, INIT_DB_VERSION can be updated if there is a mismatch.