Project:
View Issue Details[ Jump to Notes ] | [ Issue History ] [ Print ] | |||||||
ID | ||||||||
0051456 | ||||||||
Type | Category | Severity | Reproducibility | Date Submitted | Last Update | |||
defect | [Retail Modules] Web POS | major | always | 2023-01-25 21:14 | 2023-01-26 10:49 | |||
Reporter | jetxarri | View Status | public | |||||
Assigned To | Triage Platform Conn | |||||||
Priority | high | Resolution | invalid | Fixed in Version | ||||
Status | closed | Fix in branch | Fixed in SCM revision | |||||
Projection | none | ETA | none | Target Version | ||||
OS | Any | Database | Any | Java version | ||||
OS Version | Database version | Ant version | ||||||
Product Version | SCM revision | |||||||
Review Assigned To | ||||||||
Regression level | ||||||||
Regression date | ||||||||
Regression introduced in release | ||||||||
Regression introduced by commit | ||||||||
Triggers an Emergency Pack | No | |||||||
Summary | 0051456: When discounts engine is executed using Graal has secuencial behaviour | |||||||
Description | When discounts engine is executed using Graal has secuencial behaviour. If the user makes 100 requests at a time the response is always secuencial: -receive 100 request -return 100 responses in a secuencial way The problem of this behaviour is that one hundred request needs to wait the first 99 responses before it gets the 100 response. The ideal behaviour will be: -request 1 -request 2 -request 3 -response 1 -request 4 -response 3 -response 4 -response 2 We can see that the time between request and response is the time that the server takes to process the request. | |||||||
Steps To Reproduce | -Do 100 request at a time to endpoint discounts.discounts if you analyse the log you will see how the log Discount Engine initialized in {} ms takes toons of time | |||||||
Proposed Solution | The problem is happening in JAVA "GraalDiscountsExecutor". Exactly the problem comes in line jsPath = getDiscountsJavaScript(); This method has a call to discountsComponent.getStaticResourceFileName() + ".js"; Which contains a Syncrhonized tag. Proposed solution: @Inject protected ApplicationDictionaryCachedStructures adcs; if (jsPath == null || adcs.isInDevelopment()){ jsPath = getDiscountsJavaScript(); } | |||||||
Tags | No tags attached. | |||||||
Attached Files | ||||||||
Relationships [ Relation Graph ] [ Dependency Graph ] | |
Notes | |
(0145848) marvintm (manager) 2023-01-26 08:01 |
I've reassigned it to platform, because this seems to be a problem with the JS resources caching. |
(0145860) jetxarri (reporter) 2023-01-26 10:49 |
Finally the problem is not reproducible with modules in status "NOT IN DEVELOPMENT" |
Issue History | |||
Date Modified | Username | Field | Change |
2023-01-25 21:14 | jetxarri | New Issue | |
2023-01-25 21:14 | jetxarri | Assigned To | => Retail |
2023-01-25 21:14 | jetxarri | Triggers an Emergency Pack | => No |
2023-01-26 08:00 | marvintm | Assigned To | Retail => Triage Platform Conn |
2023-01-26 08:01 | marvintm | Note Added: 0145848 | |
2023-01-26 10:49 | jetxarri | Note Added: 0145860 | |
2023-01-26 10:49 | jetxarri | Status | new => closed |
2023-01-26 10:49 | jetxarri | Resolution | open => invalid |
Copyright © 2000 - 2009 MantisBT Group |