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 | |||||||
| 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 | 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 (viewer) 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 (viewer) 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 | OBNetwork customer | => No | 
| 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 |