[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:49:01 EDT 2019


     [ https://issues.jboss.org/browse/DROOLS-4285?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

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)


More information about the jboss-jira mailing list