[jboss-jira] [JBoss JIRA] (JBRULES-3644) Scheduled Activations are not fired after unmarshalling

Philipp Herzig (JIRA) jira-events at lists.jboss.org
Tue Oct 2 05:45:03 EDT 2012


     [ https://issues.jboss.org/browse/JBRULES-3644?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Philipp Herzig updated JBRULES-3644:
------------------------------------

    Description: 
Currently, Scheduled Activations are not fired after they got unmarshalled from a binary. Although they reside on the agenda after unmarshalling, they have somehow an "orphan" status that leads to inconsistent state of the rule engine in general. As subsequent problem, deleting the rule that caused these "orphan" scheduled activations leads to a NPE when removing the timer job.

java.lang.NullPointerException
        at org.drools.time.impl.JDKTimerService.removeJob(JDKTimerService.java:134)
        at org.drools.reteoo.RuleTerminalNode$RTNCleanupAdapter.cleanUp(RuleTerminalNode.java:524)
        at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:454)
        at org.drools.common.BaseNode.remove(BaseNode.java:106)
        at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:410)
        at org.drools.common.BaseNode.remove(BaseNode.java:106)
        at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:261)
        at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:459)
        at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:1106)
        at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:1084)
        at org.drools.impl.KnowledgeBaseImpl.removeRule(KnowledgeBaseImpl.java:208)

A detailed description can be found here: http://drools.46999.n3.nabble.com/rules-users-Protobuf-Marshaller-Question-ScheduledActivation-Persistence-td4019537.html

The attached test has been reworked to simply persist the session blob to a local file rather than a database. I should be easy to import as maven project.



  was:
Currently, Scheduled Activations are not fired after they got unmarshalled from a binary. Although they reside on the agenda after unmarshalling, they have somhow an "orphan" status. Therefore, also the engine runs in an inconsistent state since deleting the rule that caused these "orphan" scheduled activations leads to a NPE when removing the timer job.

A detailed description can be found here: http://drools.46999.n3.nabble.com/rules-users-Protobuf-Marshaller-Question-ScheduledActivation-Persistence-td4019537.html

The attached test has been reworked to simply persist the session blob to a local file rather than a database.




    
> Scheduled Activations are not fired after unmarshalling
> -------------------------------------------------------
>
>                 Key: JBRULES-3644
>                 URL: https://issues.jboss.org/browse/JBRULES-3644
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-core  (expert), drools-core (fusion)
>    Affects Versions: 5.4.0.CR1, 5.4.0.Final, 5.5.0.Beta1
>            Reporter: Philipp Herzig
>            Assignee: Mark Proctor
>         Attachments: DroolsScheduledActivation.zip
>
>
> Currently, Scheduled Activations are not fired after they got unmarshalled from a binary. Although they reside on the agenda after unmarshalling, they have somehow an "orphan" status that leads to inconsistent state of the rule engine in general. As subsequent problem, deleting the rule that caused these "orphan" scheduled activations leads to a NPE when removing the timer job.
> java.lang.NullPointerException
>         at org.drools.time.impl.JDKTimerService.removeJob(JDKTimerService.java:134)
>         at org.drools.reteoo.RuleTerminalNode$RTNCleanupAdapter.cleanUp(RuleTerminalNode.java:524)
>         at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:454)
>         at org.drools.common.BaseNode.remove(BaseNode.java:106)
>         at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:410)
>         at org.drools.common.BaseNode.remove(BaseNode.java:106)
>         at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:261)
>         at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:459)
>         at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:1106)
>         at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:1084)
>         at org.drools.impl.KnowledgeBaseImpl.removeRule(KnowledgeBaseImpl.java:208)
> A detailed description can be found here: http://drools.46999.n3.nabble.com/rules-users-Protobuf-Marshaller-Question-ScheduledActivation-Persistence-td4019537.html
> The attached test has been reworked to simply persist the session blob to a local file rather than a database. I should be easy to import as maven project.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list