Openbravo Issue Tracking System - Retail Modules
View Issue Details
0044611Retail ModulesMobile Warehouse operationspublic2020-07-14 19:522020-08-21 09:25
gsuarez 
Retail 
highmajoralways
newopen 
5
 
 
No
0044611: Bad performance into the selector on Lookup Process
The customer had been have several performance problem when they trying to filter into this selector into the lookup process over a warehouse with a lot of tasks rows (this around to 1.800.000). After apply the filter, the response take more than3 minutes to provide the results.

We detect the problem into the query used to filter where this try to compare the filter condition in different entities at the same time (Product, Bin and Attribute Set Instance) using the OR operator. We execute this query by each entity and we get a better performance activity in each case.
Prepare an environment with a lot of data to apply the filter (you can use the environment test of customer).
open the Mobile Warehouse Operation
open the selector where you pick the products into the lookup process.
Search for any product.
As workaround we change the behavior of the query and we restrict the use of the filter only by BIN.
No tags attached.
diff Inventory.diff (1,301) 2020-07-14 19:53
https://issues.openbravo.com/file_download.php?file_id=14768&type=bug
Issue History
2020-07-14 19:52gsuarezNew Issue
2020-07-14 19:52gsuarezAssigned To => Retail
2020-07-14 19:52gsuarezResolution time => 1596492000
2020-07-14 19:52gsuarezTriggers an Emergency Pack => No
2020-07-14 19:53gsuarezFile Added: Inventory.diff
2020-07-14 19:55gsuarezNote Added: 0121452
2020-08-17 18:48guilleaerNote Added: 0122106
2020-08-21 09:25marvintmResolution time1596492000 =>
2020-08-21 09:25marvintmNote Added: 0122230
2020-08-21 09:25marvintmTypedefect => design defect

Notes
(0121452)
gsuarez   
2020-07-14 19:55   
We modified the next java class as workaround to this.

modules/org.openbravo.warehouse.advancedwarehouseoperations/src/org/openbravo/warehouse/advancedwarehouseoperations/mobile/datasources/Inventory.java
(0122106)
guilleaer   
2020-08-17 18:48   
modules/org.openbravo.warehouse.advancedwarehouseoperations/src/org/openbravo/warehouse/advancedwarehouseoperations/mobile/datasources/Inventory.java

Above servlet is ready to manage contains preference but it is not ready to use strict preference

http://wiki.openbravo.com/wiki/Modules:Advanced_Warehouse_Operations#Device_Search_Mode [^]

Solution should consist on create strict preference and take it into account while query is executed.
(0122230)
marvintm   
2020-08-21 09:25   
We have changed this issue to design defect. In the end, the only solution we have for these kinds of problems is to refactor the selector so that the user specifies which property he wants to filter by, like we did in the WebPOS with the customer or receipt selectors.

This change however is not trivial, and that's why we changed it to design defect.