[ 
https://issues.apache.org/jira/browse/ODE-149?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matthieu Riou updated ODE-149:
------------------------------

    Fix Version/s:     (was: 1.3)
                   2.0

> Ode should startup faster when there are many DUs and Processes
> ---------------------------------------------------------------
>
>                 Key: ODE-149
>                 URL: https://issues.apache.org/jira/browse/ODE-149
>             Project: ODE
>          Issue Type: Improvement
>          Components: BPEL Runtime
>    Affects Versions: 1.0-incubating
>            Reporter: Dan Kearns
>             Fix For: 2.0
>
>
> Startup currently deserializes deployment units, process configurations, and 
> process properties. The default queries for this in hibernate become very 
> slow when there are many of both due to an ill-advised outer join (eg with 
> 10,000 deployment units and 30,000 processes the query would look at 300 
> million rows when it only needs to look at 30,000 - a difference on the order 
> of 15 minutes). Following is a workaround for hibernate. OpenJpa may need 
> similar fix. 
> bpel-store: org.apache.ode.store.hib.ConfStoreConnectionHib.java, replace 
> getDeploymentUnits with:
>     @SuppressWarnings("unchecked")
>     public Collection<DeploymentUnitDAO> getDeploymentUnits() {
>       List joined =  _session.createSQLQuery("SELECT * FROM STORE_DU du, "
>                                    + "STORE_PROCESS proc where 
> du.NAME=proc.DU")
>         .addEntity("du",DeploymentUnitDaoImpl.class)
>         .addEntity("proc",ProcessConfDaoImpl.class )
>         .addJoin("processes","du.processes")
>         .list();
>       Set allDu = new HashSet();
>       for(Object o : joined) {
>         Object[] obj = (Object[])o;
>         allDu.add(obj[0]);
>       };
>       return allDu;
>     }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to