You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2009/06/29 23:01:55 UTC

svn commit: r789446 - in /ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel: CorrelatorDaoImpl.java MessageExchangeDaoImpl.java

Author: mriou
Date: Mon Jun 29 21:01:55 2009
New Revision: 789446

URL: http://svn.apache.org/viewvc?rev=789446&view=rev
Log:
Queries for mex cleanup are very deadlock prone, commenting out until they get improved. Use of an Hibernate iterator is opening a cursor needlessly for routing.

Modified:
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
    ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java?rev=789446&r1=789445&r2=789446&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/CorrelatorDaoImpl.java Mon Jun 29 21:01:55 2009
@@ -118,26 +118,22 @@
         q.setLockMode("hs", LockMode.UPGRADE);
 
         HCorrelatorSelector selector;
-        Iterator selectors = null;
-        try {
-            List<HProcessInstance> targets = new ArrayList<HProcessInstance>();
-            selectors = q.iterate();
-            while (selectors.hasNext()) {
-                selector = (HCorrelatorSelector) selectors.next();
-                if (selector != null) {
-                    if ("all".equals(selector.getRoute()) ||
-                            ("one".equals(selector.getRoute()) && !targets.contains(selector.getInstance()))) {
-                        routes.add(new MessageRouteDaoImpl(_sm, selector));
-                        targets.add(selector.getInstance());
-                    }
+        List selectors;
+        List<HProcessInstance> targets = new ArrayList<HProcessInstance>();
+        selectors = q.list();
+        for (Object selo : selectors) {
+            selector = (HCorrelatorSelector) selo;
+            if (selector != null) {
+                if ("all".equals(selector.getRoute()) ||
+                        ("one".equals(selector.getRoute()) && !targets.contains(selector.getInstance()))) {
+                    routes.add(new MessageRouteDaoImpl(_sm, selector));
+                    targets.add(selector.getInstance());
                 }
             }
-        } finally {
-            if (selectors != null) Hibernate.close(selectors);
         }
 
         if(__log.isDebugEnabled()) __log.debug(hdr + "found " + routes);
-        
+
         return routes;
     }
 

Modified: ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java?rev=789446&r1=789445&r2=789446&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java (original)
+++ ode/branches/APACHE_ODE_1.X/dao-hibernate/src/main/java/org/apache/ode/daohib/bpel/MessageExchangeDaoImpl.java Mon Jun 29 21:01:55 2009
@@ -352,9 +352,10 @@
 	}
 	
 	public void release(boolean doClean) {
-		if( doClean ) {
-			deleteMessages();
-		}
+// TODO the cleanup queries as they are right now thend to be very deadlocky
+// 		if( doClean ) {
+// 			deleteMessages();
+// 		}
 	}
 
 	public void releasePremieMessages() {
@@ -373,4 +374,4 @@
 		getSession().delete(_hself);
 		// This deletes endpoint LData, callbackEndpoint LData, request HMessage, response HMessage, HMessageExchangeProperty 
 	}
-}
\ No newline at end of file
+}