Friday, December 07, 2007

ofbiz r 602099

Entity engine fix for the lock wait timeout problem that was happening for large sets of orders and other high volume operations, and long-lived operations with lots of asynchronous service calls; this includes some diagnostic code to show the status of transactions in other threads when a lock wait timeout error is detected; the main fix here is a big cleanup of the concurrency handling in the JobManager and JobPoller objects, including the use of sleep instead of wait for more strict and consistent sync locking, and the use of different objects for locking different parts of that class since some are meant to be used by various other threads (like the queueNow and next methods) and others are only for the poller thread, like the run method; this also includes certain other small cleanups and improvements, like using FastList/FastMap more (600164)
SqlJdbcutil backward compatibility to use getBytes if getBlob fails (600224)
Create an OrderPaymentPreference record for each OrderItemShipGroup + Splits the ShipGroup per vendor. (601245, 601255, 601269)
amount needs to be a Double for createReturnAdjustment (601268)
Added comments and an if to JobPoller to protect a call to remove just in case this method is used in the future in anything other than the JobInvoker.run method (601382)
Auto marketing packages are now produced for immediately fulfilled orders (601627)
OrderReadHelper round the total rather than the subtotals to avoid prematurely rounding tax adjustments (602011)