[
http://jira.jboss.com/jira/browse/JBRULES-1507?page=all ]
Edson Tirelli reassigned JBRULES-1507:
--------------------------------------
Assignee: Edson Tirelli (was: Mark Proctor)
Objenesis too heavily used
--------------------------
Key: JBRULES-1507
URL:
http://jira.jboss.com/jira/browse/JBRULES-1507
Project: JBoss Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 4.0.4
Reporter: Wojciech Kudla
Assigned To: Edson Tirelli
Fix For: 4.0.5
Attachments: AbstractRuleBasePatch.patch, RuleBaseConfigurationPatch.patch
Original Estimate: 15 minutes
Remaining Estimate: 15 minutes
We are using drools in heavily concurrent environment. We build new rulebase for every
request that hits our application.
There are no new bottlenecks or thread locks after using Jan's (I work in the same
team as Jan Boboli does :)) hack to the rulebase classloader, but it seems drools spends a
lot of time in objenesis package classes trying to resolve proper instantiators for the
very same classes with each request.
This happens because method createObjenesis in AbstractRuleBase returns new instance of
ObjenesisStd. There are scenarios in which this only causes performance degradadion (this
is our case), so I decided to change the method to return static ObjenesisStd instead of
new instance for each rulebase. After that drools rocketed up to 5 times faster than
before :)
I think it would be a great idea if you added a new option for RuleBaseConfiguration to
give the user a choice of how objenesis is instantiated.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira