Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Log synchronous message correlations to operations log #3900

Closed
2 tasks done
mboskamp opened this issue Oct 27, 2023 · 0 comments
Closed
2 tasks done

Log synchronous message correlations to operations log #3900

mboskamp opened this issue Oct 27, 2023 · 0 comments
Assignees
Labels
type:feature Issues that add a new user feature to the project. version:7.21.0-alpha3 version:7.21.0

Comments

@mboskamp
Copy link
Member

mboskamp commented Oct 27, 2023

User Story (Required on creation)

As a developer, I want to be able to correlate a message for a limited number of process instances with a synchronous operation in an audit-save manner. This allows me to correlate messages triggering important process operations like restarting or canceling a business process in an audit save manner.

Functional Requirements (Required before implementation)

  • There is a ProcessEngineConfiguration property called logEntriesPerSyncOperationLimit of type Long with a default of 1.
  • Based on the value of logEntriesPerSyncOperationLimit, operation log entries are produced when multiple messages are correlated synchronously.
    • logEntriesPerSyncOperationLimit=1 (default): Regardless of the amount of correlated messages, there will always be one single operation log entry that summarizes the API call (similar to what the batch operation does). It will include the messageName, nrOfInstances (impacted process instances), nrOfVariables (number of variables set by the operation), and async (always false since this is a synchronous API).
    • logEntriesPerSyncOperationLimit=-1: disable this feature and always write one operation log entry per message correlated with this API call.
    • logEntriesPerSyncOperationLimit=x>1<Long.MAX_VALUE: Instruct the process engine to complete only API calls that involve no more messages than the configured limit. The API call fails if the limit is exceeded, and a ProcessEngineException is thrown. The engine produces one operation log entry per correlated message for successful API calls, meaning the number of new operation log entries from one API call can never exceed logEntriesPerSyncOperationLimit.
  • Operation log entries written through synchronous message correlation are visible in Cockpit.
  • There is documentation about the logEntriesPerSyncOperationLimit in docs-manual.
  • Information about the security and performance risks associated with unlimited operation logs exists.

Technical Requirements (Required before implementation)

  • Create a ProcessEngineConfiguration property called logEntriesPerSyncOperationLimit of type Long with a default of 1.
  • Produce operation logs based on the value of logEntriesPerSyncOperationLimit.

Limitations of Scope

Hints

Links

Breakdown

  • Add a ProcessEngineConfiguration property called logEntriesPerSyncOperationLimit of type Long.
  • Synchronous multi-message correlation produces operation log entries.
  • Add a section to the security guide informing users about the risks associated with unlimited operation logs.
  • Add documentation about the logEntriesPerSyncOperationLimit property, its possible values, and risks associated with unlimited operation logs.

Tasks

  1. ci:h2
    mboskamp
  2. mboskamp

Dev2QA handover

  • Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment
@mboskamp mboskamp added type:feature Issues that add a new user feature to the project. version:7.21.0 labels Oct 27, 2023
@mboskamp mboskamp self-assigned this Oct 27, 2023
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Dec 20, 2023
@mboskamp mboskamp assigned danielkelemen and unassigned mboskamp Jan 10, 2024
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 19, 2024
mboskamp added a commit to camunda/camunda-docs-manual that referenced this issue Jan 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:feature Issues that add a new user feature to the project. version:7.21.0-alpha3 version:7.21.0
Projects
None yet
Development

No branches or pull requests

3 participants