[jboss-jira] [JBoss JIRA] (DROOLS-4285) Slow build due to inefficient EnumServiceImpl.doValidation() call
Michael Anstis (Jira)
issues at jboss.org
Tue Jul 2 09:50:00 EDT 2019
[ https://issues.jboss.org/browse/DROOLS-4285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Anstis updated DROOLS-4285:
-----------------------------------
Story Points: 3
Sprint: 2019 Week 26-28
> 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)
More information about the jboss-jira
mailing list