[
https://issues.jboss.org/browse/DROOLS-4285?page=com.atlassian.jira.plugi...
]
Michael Anstis moved RHDM-1005 to DROOLS-4285:
----------------------------------------------
Project: Drools (was: Red Hat Decision Manager)
Key: DROOLS-4285 (was: RHDM-1005)
Workflow: GIT Pull Request workflow (was: CDW with docs v1)
Docs QE Status: NEW
Component/s: Enumerations Editor
(was: Decision Central)
Affects Version/s: 7.23.0.Final
(was: 7.3.1.GA)
QE Status: NEW
Slow build due to inefficient EnumServiceImpl.doValidation() call
-----------------------------------------------------------------
Key: DROOLS-4285
URL:
https://issues.jboss.org/browse/DROOLS-4285
Project: Drools
Issue Type: Bug
Components: Enumerations Editor
Affects Versions: 7.23.0.Final
Reporter: Michael Anstis
Assignee: Michael Anstis
Priority: Critical
Labels: drools-tools, support
In a live environment with ~1300 assets, the project build takes ~20 minutes when invoked
in decision-central.
Using a debugger, I observe that one execution of KieModuleMetaInfo.unmarshallMetaInfos()
takes 20 seconds. It's called from EnumServiceImpl.validate().
{noformat}
at org.drools.core.rule.KieModuleMetaInfo.unmarshallMetaInfos(KieModuleMetaInfo.java:49)
at org.kie.scanner.KieModuleMetaDataImpl.indexMetaInfo(KieModuleMetaDataImpl.java:251)
at org.kie.scanner.KieModuleMetaDataImpl.indexKieModule(KieModuleMetaDataImpl.java:100)
at org.kie.scanner.KieModuleMetaDataImpl.<init>(KieModuleMetaDataImpl.java:85)
at
org.kie.scanner.KieModuleMetaData$Factory.newKieModuleMetaData(KieModuleMetaData.java:60)
at
org.kie.scanner.KieModuleMetaData$Factory.newKieModuleMetaData(KieModuleMetaData.java:48)
at
org.drools.workbench.screens.enums.backend.server.EnumServiceImpl.doValidation(EnumServiceImpl.java:272)
at
org.drools.workbench.screens.enums.backend.server.EnumServiceImpl.validate(EnumServiceImpl.java:263)
at
org.drools.workbench.screens.enums.backend.server.EnumServiceImpl.validate(EnumServiceImpl.java:253)
at
org.drools.workbench.screens.enums.backend.server.EnumServiceImpl$Proxy$_$$_WeldClientProxy.validate(Unknown
Source)
at
org.kie.workbench.common.services.backend.builder.core.Builder.build(Builder.java:238)
{noformat}
However, {{EnumServiceImpl.validate()}} is repeatedly called in a loop in
Builder.build(). So all ".enumeration" files call this method (this project has
18 .enumeration files). It results in 6 min in my env.
Probably the unmarshalled KieModuleMetaInfo can be cached?
--
This message was sent by Atlassian Jira
(v7.12.1#712002)