[jboss-jira] [JBoss JIRA] Created: (JBRULES-3078) fail to remove timerjob on removing timerrule
winton xu (JIRA)
jira-events at lists.jboss.org
Mon Jun 13 02:11:23 EDT 2011
fail to remove timerjob on removing timerrule
---------------------------------------------
Key: JBRULES-3078
URL: https://issues.jboss.org/browse/JBRULES-3078
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.2.0.CR1
Reporter: winton xu
Assignee: Mark Proctor
Priority: Critical
we can reproduce it by the following steps;
1.create a TimerRule.(check attachement TimerRule.drl.txt)
2.fire the timerRule, then remove the timerRule. ( check attachement TimerRuleTest.java.txt)
Actual: the timerJob still run over and over again after removing timerRule.
Expected: the timerJob will be remove while removing timerRule;
more detail:
when we remove TimerRule, the status of interface 'acivation' will be checked,
if 'activation' is activated, the timerJob will be removed.
else the timerJob will be still run over and over again;
{noformat}
if ( activation.isActivated() ) {
activation.remove();
....
}
RuleTerminalNode.java line 530
{noformat}
the method 'activation.setActivate(boolean)' is called twice while timerjob running.
1.setActivate(false) (Scheduler.java:71)
2.fire timer rule
3.setActivate(true) (Scheduler.java:77)
if the method kbase.removeRule(String,String) is called between 1 and 3.
we fail to remove timerjob because 'acivation' is inactivated.
BTW, there is a bug on method JDKTimerService.removeJob(JobHandle jobHandle).
if timerJob is running, we will fail to remove timerJob.
because timerjob is not exist on scheduler.
but a new timerjob will be add to scheduler on the end of running timerJob.(JDKTimerService.java line 79)
maybe we can inform that there is no need to add new timerjob to scheduler, when the result of the method 'this.scheduler.remove(..)' is 'false'.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list