Article Original Creation Date: 2011-02-14
Overview
Timer driver policy evaluation filter: Once per period shows problems on Sundays.
We set up a policy to perform a firmware upgrade for all PIRELLI DSL devices.
Example situation: The policy works OK except that on previous and current Sunday, the policy started as usual at 1 AM, however, died after some minutes.
In log files we found these errors:
2011-02-01 01:10:40,239 ERROR servicegateway.policy - class: com.supportsoft.servicegateway.policy.ejb.policydevicemanager.PolicyDeviceManagerMDB method: onMessage(): 10033 - Error receiving JMS Message: InvalidStateException: Cannot generate device list because the policy is active with devices in progress.
2011-02-05 01:04:28,101 ERROR servicegateway.policy - class: com.supportsoft.servicegateway.policy.ejb.policydevicemanager.PolicyDeviceManagerMDB method: onMessage(): 10033 - Error receiving JMS Message: InvalidStateException: Cannot generate device list because the policy is active with devices in progress.
2011-02-13 01:01:40,563 ERROR servicegateway.policy - class: com.supportsoft.servicegateway.policy.ejb.policydevicemanager.PolicyDeviceManagerMDB method: onMessage(): 10033 - Error receiving JMS Message: InvalidStateException: Cannot generate device list because the policy is active with devices in progress.
The policy is configured with “filter evaluation period”: once per period.
This article explains if this problem is caused by the filter evaluation period option and what does that option mean exactly.
Environment
Solaris 10 Oracle 10 Weblogic 9.2 MP3 SG4.1.1 Tomcat 5.5.25
Root Cause
- Problem within Timer driven policies.
- As soon as the filter is evaluated the filter is in use and the policy cannot do it's job.
Resolution
- Looking into the Encore.logs shows me just before the Timer policy starts a runAgedResultsCheck which causes an SQLException:
ORA-01013: user requested cancel of current operation.
- The WL Statement Timeout setting = 120 seconds under sprtDataSource > Connection Pool > Advanced....you can change that value to 300 seconds and then check what happens.
- The ORA-01013 error is caused by this 120 seconds timeout.
- After this change, the Timer based policy ran 14 days without any error, none of the below-mentioned errors showed up anymore:
ORA-01013: user requested cancel of current operation after the runAgedResultsCheck ran with this message anymore'.
-'Cannot generate device list because the policy is active with devices in progress.