Troubleshooting: Discover node agent timeout exception and Scheduler does not start

When WebSphere Commerce is started, the Scheduler does not start and lines similar to the following example are displayed in the trace.log file.

[7/22/12 14:23:43:781 CEST] 0000001e WASAdminUtil  > com.ibm.commerce.wc.appmanagement.WASAdminUtil queryMBean ENTRY
[7/22/12 14:23:43:783 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:23:53:786 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:24:03:789 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:24:13:792 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:24:23:797 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:24:33:801 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:24:43:805 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:24:53:808 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:25:03:811 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:25:13:814 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:25:23:818 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:25:33:822 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:25:43:826 CEST] 0000001e WASAdminUtil  2   Waiting 10000 ms.
[7/22/12 14:25:53:829 CEST] 0000001e CommerceSrvr  E com.ibm.commerce.wc.appmanagement.WASAdminUtil queryMBean CMN6001E: Discover node agent timeout.
[7/22/12 14:25:53:832 CEST] 0000001e CommerceSrvr  E com.ibm.commerce.scheduler.Scheduler process() CMN0409E: The following error occurred during processing: "null".
Correlation Identity: 7060403:138aea2ba46:-7ffc
Additional Data:
        null
Current exception:
Message:
   _ERR_TIMEOUT_DISCOVER_NODEAGENT
Stack trace:
com.ibm.commerce.exception.ECSystemException: Discover node agent timeout.
        at com.ibm.commerce.wc.appmanagement.WASAdminUtil.queryMBean(WASAdminUtil.java:264)
        at com.ibm.commerce.wc.appmanagement.WASAdminUtil.createAdminClient(WASAdminUtil.java:222)
        at com.ibm.commerce.wc.appmanagement.WASAdminUtil.getAdminClient(WASAdminUtil.java:149)
        at com.ibm.commerce.wc.appmanagement.WASAdminUtil.getConfigService(WASAdminUtil.java:105)
        at com.ibm.commerce.scheduler.Scheduler.initialize(Scheduler.java:1869)
        at com.ibm.commerce.scheduler.Scheduler.process(Scheduler.java:2439)
        at com.ibm.commerce.scheduler.SchedulerSecurityPriviledgedAction.run(SchedulerSecurityPriviledgedAction.java:59)
        at com.ibm.commerce.scheduler.Scheduler.run(Scheduler.java:2380)
        at com.ibm.commerce.threadmanagement.internal.BaseWork.run(BaseWork.java:139)
        at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1150)
        at com.ibm.ws.asynchbeans.WorkWithExecutionContextImpl.go(WorkWithExecutionContextImpl.java:199)
        at com.ibm.ws.asynchbeans.CJWorkItemImpl.run(CJWorkItemImpl.java:188)
        at java.lang.Thread.run(Thread.java:736)

Problem

In the WebSphere Commerce server, there is a default delay time of 2 minutes before the Scheduler is started. The delay time is needed because the Scheduler requires other services from the WebSphere Application Server to be online. If you encounter the Discover node agent timeout error, you might need to set a longer delay time to allow the other services to start.

Solution

  1. Open the WebSphere Application Server Administrative Console.
  2. Select Servers > Application Servers.
  3. Select your WebSphere Commerce Server name. For example, server1.
  4. On the Application Servers panel, under the Server Infrastructure heading, select Java and Process Management > Process Definition.
  5. On the Process Definition panel, under the Additional Properties heading, select Java Virtual Machine.
  6. Under the Additional Properties heading, select Custom Properties.
  7. Click New. A new page opens for you to add JVM properties.
  8. In the Name field, enter com.ibm.commerce.scheduler.DelayTime
  9. In the Value field, enter a delay time in seconds. You want to add a delay time longer than 120 seconds, so for example, you might want to enter 600 to delay the Scheduler start process for 10 minutes.
  10. Save your changes and restart the WebSphere Commerce server.