From: "Adam Heath" <[email protected]>
On 05/27/2012 03:28 PM, [email protected] wrote:
Author: jleroux
Date: Sun May 27 20:28:16 2012
New Revision: 1343088

URL: http://svn.apache.org/viewvc?rev=1343088&view=rev
Log:
Fixes this error found by chance in log

---- exception report ----------------------------------------------------------
ERROR: Cannot do a find that returns an EntityListIterator with no transaction 
in place. Wrap this call in a transaction.
Exception: java.lang.Exception
Message: Stack Trace
---- stack trace ---------------------------------------------------------------
java.lang.Exception: Stack Trace
org.ofbiz.entity.GenericDelegator.find(GenericDelegator.java:1751)
org.ofbiz.order.order.OrderServices$1.call(OrderServices.java:5610)
org.ofbiz.order.order.OrderServices$1.call(OrderServices.java:5605)

Modified:
     ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java

Modified: 
ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java?rev=1343088&r1=1343087&r2=1343088&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java 
(original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderServices.java 
Sun May 27 20:28:16 2012
@@ -5601,7 +5601,9 @@ public class OrderServices {
          }
          final EntityCondition cond = 
EntityCondition.makeCondition(orderCondList);
          List<String>  orderIds;
+        boolean beganTransaction = false;
          try {
+            beganTransaction = TransactionUtil.begin();
              orderIds = TransactionUtil.doNewTransaction(new 
Callable<List<String>>() {
                  public List<String>  call() throws Exception {
                      List<String>  orderIds = new LinkedList<String>();

Er, really?  This is not the correct fix.  Do you see that 
TransactionUtil.doNewTransaction call?  Do you understand what that
does(or what it is supposed to do)?

Of course I saw it, but as it's not documented at all. Even if the code seems obvious, as it was not working, I decided to wrap it with another transaction with the hope that it would be better at least.

Jacques

The real problem is in TransactionUtil.doNewTransaction, and it's my fault.

I fixed the root cause in 1343469, then backed out your change in 1343470.

Reply via email to