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

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0040009
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[Openbravo ERP] A. Platformminorhave not tried2019-01-23 12:362019-03-28 14:55
ReportercaristuView Statuspublic 
Assigned Tocaristu 
PriorityhighResolutionfixedFixed in Version3.0PR19Q2
StatusclosedFix in branchFixed in SCM revision01860dfaa385
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned Toalostale
Web browser
ModulesCore
Regression levelProduction - Confirmed Stable
Regression date2017-05-16
Regression introduced in release3.0PR17Q3
Regression introduced by commit    http://code.openbravo.com/erp/devel/pi/rev/2a1a09ee6e6852cb977efa1a987e27d2811e9127 [^]
Triggers an Emergency PackNo
Summary

0040009: Concurrency problems in MyOpenbravoActionHandler

DescriptionThe MyOpenbravoActionHandler execution can fail if it is accessed by several threads at the same time.

This is caused by [1]. As part of the changes done to decrease the time spent to load the widgets after login, the definition of the WidgetProviders is cached[2]. This kind of classes has a private field named widgetClass (a DAL object) which can cause exceptions when accessing to some of its properties in a concurrent way (See error.txt attached).

[1] https://code.openbravo.com/erp/devel/pi/rev/2a1a09ee6e6852cb977efa1a987e27d2811e9127 [^]
[2] https://code.openbravo.com/erp/devel/pi/rev/2a1a09ee6e6852cb977efa1a987e27d2811e9127#l1.178 [^]
Steps To Reproduce1) Start Tomcat
2) Run the attached MyOpenbravoActionHandlerConcurrencyTest.test that performs several requests to MyOpenbravoActionHandler in parallel
3) The test fails because not all the requests are executed successfully
TagsNo tags attached.
Attached Filestxt file icon error.txt [^] (44,768 bytes) 2019-01-23 12:36 [Show Content]
? file icon MyOpenbravoActionHandlerConcurrencyTest.java [^] (3,849 bytes) 2019-01-23 12:36

- Relationships Relation Graph ] Dependency Graph ]
depends on backport 00400153.0PR19Q1 closedcaristu Concurrency problems in MyOpenbravoActionHandler 
depends on backport 00400163.0PR18Q4.2 closedcaristu Concurrency problems in MyOpenbravoActionHandler 
depends on backport 00400173.0PR18Q3.5 closedcaristu Concurrency problems in MyOpenbravoActionHandler 
caused by feature request 0035980 closedcaristu Improve the time spent to load the widgets after log-in 
caused by feature request 0037064 closedcaristu upgrade hibernate 

-  Notes
(0109146)
hgbot (developer)
2019-01-24 10:08

Repository: erp/devel/pi
Changeset: 01860dfaa385ad216b8c0e1d5a09cb0f0c64aad0
Author: Carlos Aristu <carlos.aristu <at> openbravo.com>
Date: Thu Jan 24 10:05:04 2019 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/01860dfaa385ad216b8c0e1d5a09cb0f0c64aad0 [^]

fixes issue 40009: Concurrency problems in MyOpenbravoActionHandler

  As part of the changes done to decrease the time spent to load the widgets after login, the WidgetProviders are cached[1]. This kind of classes had a private field named widgetClass (a DAL object) which could cause errors when accessing to some of its properties in a concurrent way.

  To fix this issue we are now keeping in cache the properties of the WidgetClass instead of keeping the reference to the DAL object.

[1] https://code.openbravo.com/erp/devel/pi/rev/2a1a09ee6e6852cb977efa1a987e27d2811e9127#l1.178 [^]

---
M modules/org.openbravo.client.myob/src/org/openbravo/client/myob/WidgetProvider.java
---
(0109147)
hgbot (developer)
2019-01-24 10:47

Repository: erp/devel/pi
Changeset: aea5c08b7cf2da597868451572e4355d2a1511aa
Author: Carlos Aristu <carlos.aristu <at> openbravo.com>
Date: Thu Jan 24 10:25:44 2019 +0100
URL: http://code.openbravo.com/erp/devel/pi/rev/aea5c08b7cf2da597868451572e4355d2a1511aa [^]

related to issue 40009: minor code cleanup

  - Use diamond operator
  - Rename field "parameters" to prevent any misunderstanding/clash with field "PARAMETERS"
  - Use a StringBuilder instead of String concatenation
  - Renamed "_parameter" to follow standard name guidelines
  - Remove commented-out code
  - Remove condition that was always being evaluated to false
  - Iterate over the "entrySet" instead of the "keySet"
  - Add comment to explain the ignored exception
  - Replaced if-then-else statement by a single return statement

---
M modules/org.openbravo.client.myob/src/org/openbravo/client/myob/WidgetProvider.java
---
(0109246)
alostale (developer)
2019-01-25 10:53

reviewed + tested
(0110758)
hudsonbot (developer)
2019-03-28 14:55

A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/b2fbc1588df4 [^]
Maturity status: Test
(0110759)
hudsonbot (developer)
2019-03-28 14:55

A changeset related to this issue has been promoted main and to the
Central Repository, after passing a series of tests.

Promotion changeset: https://code.openbravo.com/erp/devel/main/rev/b2fbc1588df4 [^]
Maturity status: Test

- Issue History
Date Modified Username Field Change
2019-01-23 12:36 caristu New Issue
2019-01-23 12:36 caristu Assigned To => caristu
2019-01-23 12:36 caristu File Added: error.txt
2019-01-23 12:36 caristu Modules => Core
2019-01-23 12:36 caristu Triggers an Emergency Pack => No
2019-01-23 12:36 caristu File Added: MyOpenbravoActionHandlerConcurrencyTest.java
2019-01-23 12:38 caristu Description Updated View Revisions
2019-01-23 17:32 caristu Description Updated View Revisions
2019-01-23 17:32 caristu Relationship added caused by 0035980
2019-01-23 17:33 caristu Status new => scheduled
2019-01-24 10:08 hgbot Checkin
2019-01-24 10:08 hgbot Note Added: 0109146
2019-01-24 10:08 hgbot Status scheduled => resolved
2019-01-24 10:08 hgbot Resolution open => fixed
2019-01-24 10:08 hgbot Fixed in SCM revision => http://code.openbravo.com/erp/devel/pi/rev/01860dfaa385ad216b8c0e1d5a09cb0f0c64aad0 [^]
2019-01-24 10:47 hgbot Checkin
2019-01-24 10:47 hgbot Note Added: 0109147
2019-01-25 08:16 caristu Review Assigned To => alostale
2019-01-25 09:18 alostale Regression level => Production - Confirmed Stable
2019-01-25 09:18 alostale Regression date => 2017-05-16
2019-01-25 09:18 alostale Regression introduced in release => 3.0PR17Q3
2019-01-25 09:18 alostale Regression introduced by commit => http://code.openbravo.com/erp/devel/pi/rev/2a1a09ee6e6852cb977efa1a987e27d2811e9127 [^]
2019-01-25 10:51 alostale Relationship added caused by 0037064
2019-01-25 10:52 alostale Regression level Production - Confirmed Stable => Production - QA Approved
2019-01-25 10:52 alostale Regression date 2017-05-16 => 2018-07-24
2019-01-25 10:52 alostale Regression introduced in release 3.0PR17Q3 => 3.0PR18Q4
2019-01-25 10:52 alostale Regression introduced by commit http://code.openbravo.com/erp/devel/pi/rev/2a1a09ee6e6852cb977efa1a987e27d2811e9127 [^] => http://code.openbravo.com/erp/devel/pi/rev/95dcfa93d706654e1fbddfc3966bec7280081ac1 [^]
2019-01-25 10:53 alostale Note Added: 0109246
2019-01-25 10:53 alostale Status resolved => closed
2019-01-25 10:53 alostale Fixed in Version => 3.0PR19Q2
2019-01-25 12:29 alostale Regression level Production - QA Approved => Production - Confirmed Stable
2019-01-25 12:29 alostale Regression date 2018-07-24 => 2017-05-16
2019-01-25 12:29 alostale Regression introduced in release 3.0PR18Q4 => 3.0PR17Q3
2019-01-25 12:29 alostale Regression introduced by commit http://code.openbravo.com/erp/devel/pi/rev/95dcfa93d706654e1fbddfc3966bec7280081ac1 [^] => http://code.openbravo.com/erp/devel/pi/rev/2a1a09ee6e6852cb977efa1a987e27d2811e9127 [^]
2019-03-28 14:55 hudsonbot Checkin
2019-03-28 14:55 hudsonbot Note Added: 0110758
2019-03-28 14:55 hudsonbot Checkin
2019-03-28 14:55 hudsonbot Note Added: 0110759


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker