Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0022428
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Retail Modules] Web POSmajoralways2012-11-29 14:082012-12-20 13:58
ReportermarvintmView Statuspublic 
Assigned Toadrianromero 
PrioritynormalResolutionduplicateFixed in Version
StatusclosedFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget VersionRMP18
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0022428: Performance problem when there is a large number of products

DescriptionThere 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 SolutionBoth 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.
TagsNo tags attached.
Attached Files

- Relationships Relation Graph ] Dependency Graph ]
duplicate of defect 0021785 closedmarvintm Remove entity ProductPrice and add the required princing information to the Product 

-  Notes
There are no notes attached to this issue.

- Issue History
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
Powered by Mantis Bugtracker