Skip to content

Commit ed56118

Browse files
committed
docs(engine): add property isolation level property and update documentation
Related to camunda/camunda-bpm-platform#4516
1 parent 7d3197e commit ed56118

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

content/reference/deployment-descriptors/tags/process-engine.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -506,7 +506,7 @@ The following is a list with the most commonly used process engine configuration
506506
<br><br>
507507
A custom hostname can be generated by providing an implementation of the
508508
{{< javadocref page="org/camunda/bpm/engine/impl/history/event/HostnameProvider.html" text="HostnameProvider" >}}
509-
interface and and setting the engine property `hostnameProvider` to an instance of that class.
509+
interface and and setting the engine property <code>hostnameProvider</code> to an instance of that class.
510510
<br><br>
511511
</td>
512512
</tr>
@@ -551,6 +551,20 @@ The following is a list with the most commonly used process engine configuration
551551
</p>
552552
</td>
553553
</tr>
554+
<tr>
555+
<td><code>transactionIsolationLevel</code></td>
556+
<td>String</td>
557+
<td>
558+
Specifies the value to be configured as the default transaction isolation level for the data source. If <code>null</code> or empty, the value will not be overridden and the global isolation level configured in the database will be used.
559+
<p>
560+
The default value is <code>readCommitted</code>. If the property is absent, the default value will be set.
561+
</p>
562+
<p>
563+
<strong>Note</strong>: The <a href="{{<ref "/user-guide/process-engine/database/database-configuration.md#isolation-level-configuration" >}}">recommended transaction isolation level</a> that ensures the correct behaviour of the engine is <code>readCommitted</code>.
564+
</p>
565+
Values: <code>readCommitted</code>, <code>readUncommitted</code>, <code>repeatableRead</code>, <code>serializable</code> (String).
566+
</td>
567+
</tr>
554568
<tr>
555569
<td><code>jdbcBatchProcessing</code></td>
556570
<td>Boolean</td>
@@ -1154,7 +1168,7 @@ The following is a list with the most commonly used process engine configuration
11541168
<td>String</td>
11551169
<td><a href="{{< ref "/user-guide/process-engine/history/history-cleanup.md">}}">History cleanup</a> batch window end time in the format <code>HH:mmZ</code> (Z is for RFC 822 time zone) or <code>HH:mm</code>. E.g., <code>23:00-0300</code> or <code>23:00</code>. In case <code>batchWindowEndTime</code> exceeds <code>batchWindowStartTime</code> it is considered
11561170
to be on the same date (e.g., cleanup runs each day between 20:00 and 23:00). Otherwise it is considered to be on the next calendar day (e.g., cleanup starts each
1157-
day at 20:00 and finishes the next day at 01:00). Default value is `00:00`.</td>
1171+
day at 20:00 and finishes the next day at 01:00). Default value is <code>00:00</code>.</td>
11581172
</tr>
11591173
<tr>
11601174
<td><code>mondayHistoryCleanupBatchWindowStartTime</code></td>

content/user-guide/process-engine/database/database-configuration.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,3 +174,13 @@ Most database management systems provide four different isolation levels to be s
174174
* SERIALIZABLE
175175

176176
The required isolation level to run Camunda with is **READ COMMITTED**, which may have a different name according to your database system. Setting the level to REPEATABLE READS is known to cause deadlocks, so one needs to be careful, when changing the isolation level.
177+
178+
If the isolation level is different from **READ COMMITTED** at the level of the database configuration, the default behavior of the engine is to configure the data source level with this value.
179+
180+
If you prefer to change this behaviour, you can use property `transactionIsolationLevel` to either use the same value as the global database configuration or use a specific one. This property works as follows:
181+
182+
* If unset, the default value of `readCommitted` will be used to configure the data source.
183+
* If `null` or empty, the data source won't be configured and the global isolation level for the database will be used.
184+
* If the property has an accepted value (`readUncommitted`, `readCommitted`, `repeatableReads` or `serializable`), it will be configured in the datasource.
185+
186+
[See here]({{< ref "/reference/deployment-descriptors/tags/process-engine.md#configuration-properties" >}}) for more details about this and other properties.

0 commit comments

Comments
 (0)