Skip to content

Ensure database isolation level is correctly set #4516

@joaquinfelici

Description

@joaquinfelici

User Story (Required on creation)

As a user, I want an error to be thrown if the transaction isolation level configured for the database is not correct and to be able to skip this check to be able to set a custom level even if it's not optimal.

Functional Requirements (Required before implementation)

  • Prevent the engine from starting if the transaction isolation level is different from the recommended one (READ_COMMITTED).
  • Have a flag to allow for this check to be skipped, and log a warning when this flag is enabled and the level is non optimal.

Technical Requirements (Required before implementation)

Requirements

On engine initialisation, the transaction isolation level for a Connection will be checked, and we'll have the following scenarios:

  • The isolation level is READ_COMMITTED: no action is done.
  • The isolation level is different from READ_COMMITTED: the engine will be stopped with an error messages explaining the reason behind it and suggesting that, if the risk can be accepted, a flag (this is a new flag that is gonna be introduced) skipIsolationLevelCheck can be set to true in order to allow for the engine to start.
  • The isolation level is different from READ_COMMITTED and flag skipIsolationLevelCheck is true: A warning will be logged mentioning that the isolation level is not optimal and the engine will start normally.

Limitations of Scope

Hints

Links

Breakdown

### Pull Requests
- [ ] https://github.com/camunda/camunda-bpm-platform/pull/4526
- [ ] https://github.com/camunda/camunda-docs-manual/pull/1671

Dev2QA handover

  • Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions