Thursday 13 February 2014

IBM Operational Decision Manager 8.5 - Exception seen on first startup of Decision Server cluster

I've now seen this twice ( and, therefore, it is repeatable ) when I first start my Decision Server cluster - to be more specific, the cluster is automatically started by the build process, via this script: -

export ODM_HOME=/opt/IBM/ODM85/
/opt/IBM/WebSphere/AppServer/profiles/Dmgr01/bin/configureDSCluster.sh -dmgrAdminUsername wasadmin -dmgrAdminPassword passw0rd -clusterPropertiesFile ./configureDSCluster.properties -createNode -targetNodeName DecisionServerNode01 -dmgrHostName rhel6.uk.ibm.com -dmgrPort 8879

This is what I see in the SystemOut.log file: -

view /opt/IBM/WebSphere/AppServer/profiles/DecisionServerNode01/logs/DecisionServerNode01-DSServer/SystemOut.log

...
[13/02/14 13:06:48:807 GMT] 00000067 webapp E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[Failed to load listener: ilog.rules.res.console.IlrServletContextListener]: java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: ilog.rules.res.console.IlrServletContextListener
...
[13/02/14 13:06:48:831 GMT] 00000067 webapp E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[Failed to load listener: ilog.rules.jsf.listeners.IlrSessionManagerListener]: java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: ilog.rules.jsf.listeners.IlrSessionManagerListener
...
[13/02/14 13:06:53:164 GMT] 00000068 webapp E com.ibm.ws.webcontainer.webapp.WebApp logError SRVE0293E: [Servlet Error]-[Failed to load listener: com.ibm.rules.htds.servlet.DecisionServiceManager]: java.lang.ClassNotFoundException: class java.lang.ClassNotFoundException: com.ibm.rules.htds.servlet.DecisionServiceManager

I don't know precisely why it does this BUT the solution is simple :-)

Restart the cluster: -

$ /opt/IBM/WebSphere/AppServer/profiles/DecisionServerNode01/bin/stopServer.sh DecisionServerNode01-DSServer -user wasadmin -password password

ADMU0116I: Tool information is being logged in file
           /opt/IBM/WebSphere/AppServer/profiles/DecisionServerNode01/logs/DecisionServerNode01-DSServer/stopServer.log
ADMU0128I: Starting tool with the DecisionServerNode01 profile
ADMU3100I: Reading configuration for server: DecisionServerNode01-DSServer
ADMU3201I: Server stop request issued. Waiting for stop status.
ADMU4000I: Server DecisionServerNode01-DSServer stop completed.


$ /opt/IBM/WebSphere/AppServer/profiles/DecisionServerNode01/bin/startServer.sh DecisionServerNode01-DSServer

ADMU0116I: Tool information is being logged in file
           /opt/IBM/WebSphere/AppServer/profiles/DecisionServerNode01/logs/DecisionServerNode01-DSServer/startServer.log
ADMU0128I: Starting tool with the DecisionServerNode01 profile
ADMU3100I: Reading configuration for server: DecisionServerNode01-DSServer
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server DecisionServerNode01-DSServer open for e-business; process id
           is 61952

and all is well.

PS Love the scripting to cluster Decision Center and Decision Server, makes ODM builds far more fun :-)

No comments:

Note to self - use kubectl to query images in a pod or deployment

In both cases, we use JSON ... For a deployment, we can do this: - kubectl get deployment foobar --namespace snafu --output jsonpath="{...