ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou (JIRA)" <j...@apache.org>
Subject [jira] Updated: (ODE-149) Ode should startup faster when there are many DUs and Processes
Date Thu, 06 Nov 2008 19:52:51 GMT

     [ 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.


Mime
View raw message