Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0022428 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Retail Modules] Web POS | major | always | 2012-11-29 14:08 | 2012-12-20 13:58 | |||
Reporter | marvintm | View Status | public | |||||
Assigned To | adrianromero | |||||||
Priority | normal | Resolution | duplicate | Fixed in Version | ||||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | RMP18 | |||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Merge Request Status | ||||||||
Review Assigned To | ||||||||
OBNetwork customer | No | |||||||
Support ticket | ||||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0022428: Performance problem when there is a large number of products | |||||||
Description | There is a performance problem when there is a large number of products. The problem has been reproduced with 19000 products. The problem happens even if there is a limit in the number of displayed products, and occurs due to the way the products are currently stored and rendered. As the prices are currently stored in a separate table, we do a separate query and then iterate for all the prices until the product we want to set the price for is found. This is very costly in performance, and it scales poorly with the number of products and prices. Also, the problem is exacerbated due to the fact that prices for all products in the defined pricelist are loaded, regardless of the existance of those products in the assortment. So, if an assortment of 5 products is defined, but there are 20000 products in the system, the initial renderization of the POS will still be very slow. | |||||||
Steps To Reproduce | - Create a large number of products in the system, each with their price correctly defined in the pricelist. - Create an assortment which contains all products. Notice that when doing login in the POS, the browser gets completely locked up for 15-20 seconds. - Create an assortment of five products. Notice that basically the same thing happens (due to the fact that all prices were loaded regardless of the new assortment). | |||||||
Proposed Solution | Both problems should be fixed: - We should load only prices for the products in the current assortment. - We shouldn't iterate through all the prices to find the correct price for a product. | |||||||
Tags | No tags attached. | |||||||
Attached Files | ||||||||
![]() |
||||||||
|
![]() |
|||
Date Modified | Username | Field | Change |
2012-11-29 14:08 | marvintm | New Issue | |
2012-11-29 14:08 | marvintm | Assigned To | => adrianromero |
2012-12-05 19:55 | adrianromero | Target Version | => RMP18 |
2012-12-20 13:58 | adrianromero | Relationship added | duplicate of 0021785 |
2012-12-20 13:58 | adrianromero | Status | new => closed |
2012-12-20 13:58 | adrianromero | Resolution | open => duplicate |
Copyright © 2000 - 2009 MantisBT Group |