-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
None
Problem
History Queries (example: historic task query) currently perform the same authorization checks for each task from the same process. Yet, all tasks from the same process definition will share the same authorizations (for a given user / group configuration)
Solution Notes:
select distinct set of process definition keys from the table, calculate READ_HISTORY auths for that set and join it to the history table.
This approach will scale independently from the size of the history table and, more or less independently from the size of the auth. table.
This is the controller panel for Smart Panels app
[CAM-5450] History Queries perform unnecessary authorization checks
The historicProcessInstanceQuery seems to return "null" instead of "empty list".
When running the test locally with h2, I get different errors
Running org.camunda.bpm.qa.upgrade.scenarios730.job.JobMigrationScenarioTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.788 sec - in org.camunda.bpm.qa.upgrade.scenarios730.job.JobMigrationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.SingleActivityCompensationScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.544 sec - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.SingleActivityCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.SequentialMultiInstanceCompensationScenarioTest Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.944 sec - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.SequentialMultiInstanceCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.NonInterruptingEventSubProcessCompensationSenarioTest Tests run: 6, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.213 sec <<< FAILURE! - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.NonInterruptingEventSubProcessCompensationSenarioTest testInitThrowCompensateActivityInstanceTree(org.camunda.bpm.qa.upgrade.scenarios730.compensation.NonInterruptingEventSubProcessCompensationSenarioTest) Time elapsed: 0.007 sec <<< FAILURE! java.lang.AssertionError: Could not match expected tree └── [NonInterruptingEventSubProcessCompensationScenario:1:7426] ├── [outerTask] └── [throwCompensate] └── [undoTask] with actual tree └── NonInterruptingEventSubProcessCompensationScenario:1:7426=>7503 ├── outerTask=>outerTask:7506 └── eventSubProcess=>eventSubProcess:7511 └── undoTask=>undoTask:7520 at org.junit.Assert.fail(Assert.java:88) at org.camunda.bpm.qa.upgrade.util.ActivityInstanceAssert$ActivityInstanceAssertThatClause.assertTreeMatch(ActivityInstanceAssert.java:48) at org.camunda.bpm.qa.upgrade.util.ActivityInstanceAssert$ActivityInstanceAssertThatClause.hasStructure(ActivityInstanceAssert.java:42) at org.camunda.bpm.qa.upgrade.scenarios730.compensation.NonInterruptingEventSubProcessCompensationSenarioTest.testInitThrowCompensateActivityInstanceTree(NonInterruptingEventSubProcessCompensationSenarioTest.java:130) Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessCompensationSenarioTest Tests run: 4, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 0.08 sec <<< FAILURE! - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessCompensationSenarioTest testInitThrowCompensateActivityInstanceTree(org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessCompensationSenarioTest) Time elapsed: 0.004 sec <<< FAILURE! java.lang.AssertionError: Could not match expected tree └── [InterruptingEventSubProcessCompensationScenario:1:7347] └── [throwCompensate] └── [undoTask] with actual tree └── InterruptingEventSubProcessCompensationScenario:1:7347=>7405 └── eventSubProcess=>eventSubProcess:7413 └── undoTask=>undoTask:7422 at org.junit.Assert.fail(Assert.java:88) at org.camunda.bpm.qa.upgrade.util.ActivityInstanceAssert$ActivityInstanceAssertThatClause.assertTreeMatch(ActivityInstanceAssert.java:48) at org.camunda.bpm.qa.upgrade.util.ActivityInstanceAssert$ActivityInstanceAssertThatClause.hasStructure(ActivityInstanceAssert.java:42) at org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessCompensationSenarioTest.testInitThrowCompensateActivityInstanceTree(InterruptingEventSubProcessCompensationSenarioTest.java:114) Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.NestedMultiInstanceCompensationScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.243 sec - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.NestedMultiInstanceCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.NestedCompensationScenarioTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.04 sec - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.NestedCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.SingleActivityConcurrentCompensationScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.147 sec - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.SingleActivityConcurrentCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.ParallelMultiInstanceCompensationScenarioTest Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.16 sec - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.ParallelMultiInstanceCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessNestedCompensationSenarioTest Tests run: 4, Failures: 1, Errors: 0, Skipped: 1, Time elapsed: 0.108 sec <<< FAILURE! - in org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessNestedCompensationSenarioTest testInitThrowCompensateActivityInstanceTree(org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessNestedCompensationSenarioTest) Time elapsed: 0.005 sec <<< FAILURE! java.lang.AssertionError: Could not match expected tree └── [InterruptingEventSubProcessNestedCompensationScenario:1:7543] └── [innerSubProcess] └── [throwCompensate] └── [undoTask] with actual tree └── InterruptingEventSubProcessNestedCompensationScenario:1:7543=>7613 └── eventSubProcess=>eventSubProcess:7621 └── innerSubProcess=>innerSubProcess:7625 └── undoTask=>undoTask:7634 at org.junit.Assert.fail(Assert.java:88) at org.camunda.bpm.qa.upgrade.util.ActivityInstanceAssert$ActivityInstanceAssertThatClause.assertTreeMatch(ActivityInstanceAssert.java:48) at org.camunda.bpm.qa.upgrade.util.ActivityInstanceAssert$ActivityInstanceAssertThatClause.hasStructure(ActivityInstanceAssert.java:42) at org.camunda.bpm.qa.upgrade.scenarios730.compensation.InterruptingEventSubProcessNestedCompensationSenarioTest.testInitThrowCompensateActivityInstanceTree(InterruptingEventSubProcessNestedCompensationSenarioTest.java:112) Running org.camunda.bpm.qa.upgrade.scenarios730.sentry.SentryScenarioTest Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.34 sec - in org.camunda.bpm.qa.upgrade.scenarios730.sentry.SentryScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios730.boundary.NonInterruptingBoundaryEventScenarioTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.camunda.bpm.qa.upgrade.scenarios730.boundary.NonInterruptingBoundaryEventScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.task.OneScopeTaskScenarioTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.061 sec - in org.camunda.bpm.qa.upgrade.scenarios720.task.OneScopeTaskScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.task.ParallelScopeTasksScenarioTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 sec - in org.camunda.bpm.qa.upgrade.scenarios720.task.ParallelScopeTasksScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.task.OneTaskScenarioTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec - in org.camunda.bpm.qa.upgrade.scenarios720.task.OneTaskScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.task.ParallelTasksScenarioTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.059 sec - in org.camunda.bpm.qa.upgrade.scenarios720.task.ParallelTasksScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.job.AsyncParallelMultiInstanceScenarioTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.261 sec - in org.camunda.bpm.qa.upgrade.scenarios720.job.AsyncParallelMultiInstanceScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.job.AsyncSequentialMultiInstanceScenarioTest Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.241 sec - in org.camunda.bpm.qa.upgrade.scenarios720.job.AsyncSequentialMultiInstanceScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.authorization.AuthorizationTest Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.519 sec - in org.camunda.bpm.qa.upgrade.scenarios720.authorization.AuthorizationTest Running org.camunda.bpm.qa.upgrade.scenarios720.gateway.EventBasedGatewayScenarioTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.081 sec - in org.camunda.bpm.qa.upgrade.scenarios720.gateway.EventBasedGatewayScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.compensation.SubprocessParallelCreateCompensationScenarioTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.202 sec - in org.camunda.bpm.qa.upgrade.scenarios720.compensation.SubprocessParallelCreateCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.compensation.SingleActivityCompensationScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.155 sec - in org.camunda.bpm.qa.upgrade.scenarios720.compensation.SingleActivityCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.compensation.SubprocessCompensationScenarioTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.306 sec - in org.camunda.bpm.qa.upgrade.scenarios720.compensation.SubprocessCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.compensation.TransactionCancelCompensationScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.149 sec - in org.camunda.bpm.qa.upgrade.scenarios720.compensation.TransactionCancelCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.compensation.InterruptingEventSubprocessCompensationScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.098 sec - in org.camunda.bpm.qa.upgrade.scenarios720.compensation.InterruptingEventSubprocessCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.compensation.SubprocessParallelThrowCompensationScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.184 sec - in org.camunda.bpm.qa.upgrade.scenarios720.compensation.SubprocessParallelThrowCompensationScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.ParallelMultiInstanceScenarioTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.266 sec - in org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.ParallelMultiInstanceScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.NestedSequentialMultiInstanceScenarioTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.311 sec - in org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.NestedSequentialMultiInstanceScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.MultiInstanceReceiveTaskScenarioTest Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.152 sec - in org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.MultiInstanceReceiveTaskScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.SequentialMultiInstanceScenarioTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.424 sec - in org.camunda.bpm.qa.upgrade.scenarios720.multiinstance.SequentialMultiInstanceScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.boundary.NonInterruptingBoundaryEventScenarioTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.304 sec - in org.camunda.bpm.qa.upgrade.scenarios720.boundary.NonInterruptingBoundaryEventScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.boundary.NestedNonInterruptingBoundaryEventOnInnerSubprocessScenarioTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.413 sec - in org.camunda.bpm.qa.upgrade.scenarios720.boundary.NestedNonInterruptingBoundaryEventOnInnerSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.boundary.NestedNonInterruptingBoundaryEventOnOuterSubprocessScenarioTest Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.386 sec - in org.camunda.bpm.qa.upgrade.scenarios720.boundary.NestedNonInterruptingBoundaryEventOnOuterSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.ParallelNestedNonInterruptingEventSubprocessScenarioTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.31 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.ParallelNestedNonInterruptingEventSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.TwoLevelNestedNonInterruptingEventSubprocessScenarioTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.249 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.TwoLevelNestedNonInterruptingEventSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedNonInterruptingEventSubprocessScenarioTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.162 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedNonInterruptingEventSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedInterruptingEventSubprocessParallelScenarioTest Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedInterruptingEventSubprocessParallelScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedParallelNonInterruptingEventSubprocessScenarioTest Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.59 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedParallelNonInterruptingEventSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NonInterruptingEventSubprocessScenarioTest Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.122 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NonInterruptingEventSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.InterruptingEventSubprocessScenarioTest Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.045 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.InterruptingEventSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedInterruptingErrorEventSubprocessScenarioTest Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.106 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedInterruptingErrorEventSubprocessScenarioTest Running org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedNonInterruptingEventSubprocessNestedSubprocessTest Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.333 sec - in org.camunda.bpm.qa.upgrade.scenarios720.eventsubprocess.NestedNonInterruptingEventSubprocessNestedSubprocessTest Results : Failed tests: NonInterruptingEventSubProcessCompensationSenarioTest.testInitThrowCompensateActivityInstanceTree:130 Could not match expected tree └── [NonInterruptingEventSubProcessCompensationScenario:1:7426] ├── [outerTask] └── [throwCompensate] └── [undoTask] with actual tree └── NonInterruptingEventSubProcessCompensationScenario:1:7426=>7503 ├── outerTask=>outerTask:7506 └── eventSubProcess=>eventSubProcess:7511 └── undoTask=>undoTask:7520 InterruptingEventSubProcessCompensationSenarioTest.testInitThrowCompensateActivityInstanceTree:114 Could not match expected tree └── [InterruptingEventSubProcessCompensationScenario:1:7347] └── [throwCompensate] └── [undoTask] with actual tree └── InterruptingEventSubProcessCompensationScenario:1:7347=>7405 └── eventSubProcess=>eventSubProcess:7413 └── undoTask=>undoTask:7422 InterruptingEventSubProcessNestedCompensationSenarioTest.testInitThrowCompensateActivityInstanceTree:112 Could not match expected tree └── [InterruptingEventSubProcessNestedCompensationScenario:1:7543] └── [innerSubProcess] └── [throwCompensate] └── [undoTask] with actual tree └── InterruptingEventSubProcessNestedCompensationScenario:1:7543=>7613 └── eventSubProcess=>eventSubProcess:7621 └── innerSubProcess=>innerSubProcess:7625 └── undoTask=>undoTask:7634 Tests run: 313, Failures: 3, Errors: 0, Skipped: 2
I'll dig deeper
Whow, this is too hard for right now. I'll have to look into it tomorrow
I found out what the problem is:
The PROC_DEF_KEY_ column in ACT_HI_PROCINST was added in the migration script from 7.2 -> 7.3
ALTER TABLE ACT_HI_PROCINST ADD PROC_DEF_KEY_ varchar(255);
The column PROC_DEF_KEY_ is null for instances started in 7.2
The new authorization check implemented in this issue performs an inner join on that column against the set of authorized keys.
If the coulmn is null the row is not added to the resultset
Hi meyer,
could you look into:
https://hq2.camunda.com/jenkins/ci/job/7.5-platform-UPGRADE-instance-migration-from-74/85/database=postgresql_93,jdk=jdk-6-latest/testReport/junit/org.camunda.bpm.qa.upgrade.scenarios720.authorization/AuthorizationTest/testGetHistoricProcessInstance/
It may be related to your changes? Or maybe not?
Thanks,
Sebastian