Red Hat Bugzilla – Bug 1014947
Concurrence issues accessing dashboard data
Last modified: 2014-08-06 16:12:35 EDT
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):
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)
Screenshot 1: inconsistent filter status on the dashboard.
Screenshot 2: error raised by the tool after a concurrent filter request.
Data displayed in a dashboard should be isolated from other dashboards.
Concurrence requests must be handled properly.
Created attachment 806905 [details]
error raised by the tool after a concurrent filter request
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
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
One more commit was needed:
Github commit (master): https://github.com/droolsjbpm/dashboard-builder/commit/e788eff75074db93d4ea2472222f759c4e461868
Github commit (6.0.x):https://github.com/droolsjbpm/dashboard-builder/commit/865445f1a1c1815e6e69dea186cdab041f1c5ee2
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