Balaji R created JBRULES-3381:
---------------------------------
Summary: Drools cache is flushed in jboss cloud provisioned environment
Key: JBRULES-3381
URL:
https://issues.jboss.org/browse/JBRULES-3381
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core
Affects Versions: 5.0.1.FINAL
Environment: jboss AS 5.1.0 on linux OS, drools version 5.0.1, Apache http Server
2.0.2
Reporter: Balaji R
Assignee: Mark Proctor
Priority: Critical
We have a strange issue, occurring infrequently on a cloud provisioned jboss environment.
We have a cluster of jboss servers, provisioned in a private cloud environment. We have
Jboss MBean implementations packaged in an ear and deployed on all the provisioned
servers.
All the MBeans initialize rules (mvel) configured as drl on a remote http Apache host and
are configured to poll (ResourceChangeScanner, ResourceChangeNotifier) and load new set of
rules on each server using a KnowledgeAgent (private static KnowledgeAgent kagent).
Each subsequent request will create a new statefulSession
(getKagent().getKnowledgeBase().newStatefulKnowledgeSession();) and execute the rules and
are doing a session.dispose in the end.
Everything works fine, except that on one of the jboss installations, it looks like the
cached drools are flushed from memory without errors or exceptions and all subsequent
executions on rules (fireAllRules()) through the stateful sessions, yield no results.
Basically because there are no rules to execute.
The polling continues at a frequency of 1 hour for new rules, but there is no action,
because there are no new, or modified rules (drls), but unfortunately, it looks like the
cache is empty.
I don't understand how comparison happens between the cached set of rules and the ones
on the resource server (http Apache server), but it neither reloads nor executes anything
or throws errors or exceptions.
knowledgepackages.isEmpty() check happens and it's returns false. So no exceptions
either. We are able to see that a couple of packages are present, as some rules in those
are executing. I am not sure whether this packages are complete in cache, or just is not
empty. We are trying to put more checks to see if each of the knowledgePackages are empty
(.rules.isEmpty()), as that's what it seems to be. But not sure where the problem is.
Remember, this issue occurs INFREQUENTLY on only one of the servers the cluster. Not sure
whether an upgrade will help, as I didn't see any jira related to this.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see:
http://www.atlassian.com/software/jira