Failing batch operation when queryMaxResultsLimit is configured

XMLWordPrintable

      Steps to reproduce:

      • Configure queryMaxResultsLimit in the process engine configuration
      • Navigate to Batch operation page in Cockpit
      • Scenarios:
        • Try to perform Delete running process instances by filtering Unfinished Only and do not select a specific process instance but rather apply the batch for all listed instances
        • Try to perform Set retries of Jobs belonging to the process instances by filtering Unfinished Only and do not select a specific process instance but rather apply the batch for all listed instances
          (The important part is to not select instances. Apply the batch operation for all listed process instances.)

      Observed:
      Scenario 1:

      Request:
      POST http://portainer.camunda.loc:30194/camunda/api/engine/engine/default/process-instance/delete-historic-query-based
      {"historicProcessInstanceQuery":{"unfinished":true},"skipCustomListeners":true}
      Response:
      400 Bad request
      {"type":"BadUserRequestException","message":"An unbound number of results is forbidden!"}
      

      Scenario 2:

      Request:
      POST http://portainer.camunda.loc:30194/camunda/api/engine/engine/default/process-instance/job-retries-historic-query-based
      {"historicProcessInstanceQuery":{"unfinished":true},"retries":"2"}
      Response:
      400 Bad request
      {"type":"BadUserRequestException","message":"An unbound number of results is forbidden!"}
      

      Expected:
      The operation completes successfully.

      Hint:
      In the Rest API a separate query is performed to fetch the ids fulfilling the historicProcessInstanceQuery. That query does not have a limit applied.
      Scenario 1: https://github.com/camunda/camunda-bpm-platform/blob/6d61e9fb6ba961f4231f9aff84baa82d48f6922c/engine-rest/engine-rest/src/main/java/org/camunda/bpm/engine/rest/impl/ProcessInstanceRestServiceImpl.java#L170-L171
      Scenario 2: https://github.com/camunda/camunda-bpm-platform/blob/6d61e9fb6ba961f4231f9aff84baa82d48f6922c/engine-rest/engine-rest/src/main/java/org/camunda/bpm/engine/rest/impl/ProcessInstanceRestServiceImpl.java#L228-L229

      Workarounds:

      • For those two batch operations select explicitly the process instances for which the batch operation should be performed. That why the historicProcessInstanceQuery is skipped in the request.
      • When it's not possible to select all of the desired process instances in case they are too many, please use the Rest API endpoints to perform the batch operation.

            Assignee:
            Akif
            Reporter:
            Yana Vasileva
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: