Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-5450

History Queries perform unnecessary authorization checks

      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

            Sebastian Menski added a comment - 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

            Daniel Meyer added a comment -

            Thanks, I'll look into it!

            Daniel Meyer added a comment - Thanks, I'll look into it!

            Daniel Meyer added a comment -

            The historicProcessInstanceQuery seems to return "null" instead of "empty list".

            Daniel Meyer added a comment - The historicProcessInstanceQuery seems to return "null" instead of "empty list".

            Daniel Meyer added a comment -

            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

            Daniel Meyer added a comment - 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

            Daniel Meyer added a comment -

            Whow, this is too hard for right now. I'll have to look into it tomorrow

            Daniel Meyer added a comment - Whow, this is too hard for right now. I'll have to look into it tomorrow

            Seems you didn't pulled Thorbens fixes?

            Sebastian Menski added a comment - Seems you didn't pulled Thorbens fixes?

            Daniel Meyer added a comment -

            Ha, I did but I did not rebuild the engine

            Daniel Meyer added a comment - Ha, I did but I did not rebuild the engine

            Daniel Meyer added a comment -

            Now I can reproduce it

            Daniel Meyer added a comment - Now I can reproduce it

            Daniel Meyer added a comment -

            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

            Daniel Meyer added a comment - 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

              Unassigned Unassigned
              meyer Daniel Meyer
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: