-
Type:
Bug
-
Status: Closed (View Workflow)
-
Priority:
Major
-
Resolution: Done
-
Affects Version/s: 5.0.0 ER5
-
Fix Version/s: 5.0.0 CR1
-
Component/s: Documentation, JBoss Rules
-
Labels:None
Not sure this is a bug, more likely a logging issue in Drools, however IMO it should be at least documented and eventually the log severity might be changed.
Detailed description of the QS I use is here:
https://docspace.corp.redhat.com/clearspace/docs/DOC-27544
The BRP uses a rule agent to get a rule package. This rule agent is configured to maintain a local cache, just in case the BRMS server goes down.
When I run the QS for the first time, the rule package is downloaded and put in to the cache dir. So far so good.
When I stop the BRMS server, I would expect that the rule agent grabs the local cached copy letting me know with an INFO, eventually WARN message, but what I get are following messages:
05:46:58,593 WARN [LogAgentEventListener] AgentName = 'insuranceconfig' Was an error contacting http://10.16.94.36:8080/jboss-brms/org.drools.guvnor.Guvnor/package/soa/LATEST. Reponse header: {}
05:46:58,594 ERROR [LogAgentEventListener] AgentName = 'insuranceconfig' Exception: Was unable to reach server.
java.io.IOException: Was unable to reach server.
at org.drools.agent.URLScanner.hasChanged(URLScanner.java:155)
at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:119)
at org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:96)
at org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:410)
at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:362)
at org.drools.agent.RuleAgent$2.run(RuleAgent.java:516)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
05:46:58,595 WARN [LogAgentEventListener] AgentName = 'insuranceconfig' Falling back to local cache.
05:46:58,753 INFO [LogAgentEventListener] AgentName = 'insuranceconfig' Applying changes to the rulebase.
05:46:58,753 INFO [LogAgentEventListener] AgentName = 'insuranceconfig' Creating a new rulebase as per settings.
05:46:58,754 INFO [LogAgentEventListener] AgentName = 'insuranceconfig' Adding package called soa
05:47:28,351 WARN [LogAgentEventListener] AgentName = 'insuranceconfig' Was an error contacting http://10.16.94.36:8080/jboss-brms/org.drools.guvnor.Guvnor/package/soa/LATEST. Reponse header: {}
05:47:28,351 ERROR [LogAgentEventListener] AgentName = 'insuranceconfig' Exception: Was unable to reach server.
java.io.IOException: Was unable to reach server.
at org.drools.agent.URLScanner.hasChanged(URLScanner.java:155)
at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:119)
at org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:96)
at org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:410)
at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:362)
at org.drools.agent.RuleAgent$2.run(RuleAgent.java:516)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
05:47:28,352 WARN [LogAgentEventListener] AgentName = 'insuranceconfig' Falling back to local cache.
05:47:58,352 WARN [LogAgentEventListener] AgentName = 'insuranceconfig' Was an error contacting http://10.16.94.36:8080/jboss-brms/org.drools.guvnor.Guvnor/package/soa/LATEST. Reponse header: {}
05:47:58,353 ERROR [LogAgentEventListener] AgentName = 'insuranceconfig' Exception: Was unable to reach server.
java.io.IOException: Was unable to reach server.
at org.drools.agent.URLScanner.hasChanged(URLScanner.java:155)
at org.drools.agent.URLScanner.getChangeSet(URLScanner.java:119)
at org.drools.agent.URLScanner.loadPackageChanges(URLScanner.java:96)
at org.drools.agent.RuleAgent.checkForChanges(RuleAgent.java:410)
at org.drools.agent.RuleAgent.refreshRuleBase(RuleAgent.java:362)
at org.drools.agent.RuleAgent$2.run(RuleAgent.java:516)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
05:47:58,354 WARN [LogAgentEventListener] AgentName = 'insuranceconfig' Falling back to local cache.
====================================
Just to be clear, the local cache is used successfully, it's just the logging at the ERROR level and stack trace, that might cause confusion.