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



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. 


    @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