Bug 1014947

Summary: Concurrence issues accessing dashboard data
Product: [Retired] JBoss BPMS Platform 6 Reporter: David Gutierrez <dgutierr>
Component: BAMAssignee: David Gutierrez <dgutierr>
Status: CLOSED CURRENTRELEASE QA Contact: Jan Hrcek <jhrcek>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.0CC: pzapataf
Target Milestone: ER5   
Target Release: 6.0.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 20:12:35 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
inconsistent filter status on the dashboard
none
error raised by the tool after a concurrent filter request none

Description David Gutierrez 2013-10-03 07:44:03 UTC
Created attachment 806904 [details]
inconsistent filter status on the dashboard

Description of problem:

Data displayed by dashboards is not protected against concurrence access. If two users on different machines start manipulating the same dashboard (submitting filter requests) then the data displayed by the indicators does not reflect the filters applied. It seems filtered data displayed by the two dashboards is shared and hence what one user does it affects what another user is seeing. Another major problem are errors raised by the tool at random times due to a lack of concurrence control in the processing of filter requests.  


Version-Release number of selected component (if applicable):

6.0.x

How reproducible:

Open two different browser sessions: 

Steps to Reproduce:
1. Go to the same dashboard page. For example, the Expense reports dashboard.
2. Start submitting filter requests from the filter form on the left.
3. Requests must be submitted at the same time (two QE engs. might be necessary here) 

Actual results:

Screenshot 1: inconsistent filter status on the dashboard.
Screenshot 2: error raised by the tool after a concurrent filter request. 

Expected results:

Data displayed in a dashboard should be isolated from other dashboards.
Concurrence requests must be handled properly.

Comment 1 David Gutierrez 2013-10-03 07:45:04 UTC
Created attachment 806905 [details]
error raised by the tool after a concurrent filter request

Comment 3 David Gutierrez 2013-10-15 14:59:38 UTC
Fixed.

Now, datasets are handled at session level, so data is no shared between two user  sessions and hence there is no way to run into concurrence issues.

Github commit (master): https://github.com/droolsjbpm/dashboard-builder/commit/3ba9c0108c71be5c216947efe700991275843b84

Github commit (6.0.x): https://github.com/droolsjbpm/dashboard-builder/commit/0f72b1d831426ccd2df1563bcaf3179b0dd46e21

Comment 4 David Gutierrez 2013-10-18 07:31:39 UTC
An additional commit was needed. Sorry for the inconvenences.

Github commit (master): https://github.com/droolsjbpm/dashboard-builder/commit/64e233e4250c12ee19c06f37549ca57e00f64e5c

Github commit (6.0.x): https://github.com/droolsjbpm/dashboard-builder/commit/4120ad957420754edca7b0c5673b401c11b6633e

Comment 6 Jan Hrcek 2014-01-07 12:47:30 UTC
Ok, I verified that all 3 commits are present in BPMS ER7. Then I and several other QA engineers connected to the same instance of dashbuilder and for several minutes we frenetically submitted filter requests on the same workspace page. There was no unexpected error and no more sign of data being shared between the separate user sessions. Verified with BPMS 6.0.0 ER7