apache / incubator-kie-kogito-runtimes

Kogito Runtimes - Kogito is a cloud-native business automation technology for building cloud-ready business applications.
http://kogito.kie.org
Apache License 2.0
544 stars 209 forks source link

Docs enhancement for Locking handling #1876

Closed StephenOTT closed 2 years ago

StephenOTT commented 2 years ago

Description

https://docs.jboss.org/kogito/release/1.15.0/html_single/#_enabling_optimistic_locking_with_persistence details that locking is supported, but how is it handled? Coming from Camunda BPM, i am looking for some level of detail similar to: https://docs.camunda.org/manual/latest/user-guide/process-engine/transactions-in-processes/#optimistic-locking / https://docs.camunda.org/manual/latest/user-guide/process-engine/transactions-in-processes/#optimistic-locking-in-camunda where it explains how the locking is handled, if retries are attempted, etc.

Locking is a very common issue in process design and comes up as one of the most common doc references for devs and modellers to understand.

Thanks!

Implementation ideas

No response

fjtirado commented 2 years ago

Basically we are delegating on the locking capabilities of the underlying DB. This lack of details allows every persistence addon to adopt the most suitable strategy for locking (using optimistic if the generic property is there) @hmanwani-rh Please coordinate with @tiagodolphine to update this section properly

StephenOTT commented 2 years ago

great. I guess each persistence add-on should have a section explaining their implemented strategy to locking?

hmanwani-rh commented 2 years ago

@fjtirado @StephenOTT Thanks for letting me know. I have created https://issues.redhat.com/browse/BXMSDOC-8375 to address this issue in Kogito docs.

StephenOTT commented 2 years ago

@hmanwani-rh this issue comes up very often when you get into clustered setups and you have multiple instances of the same application load balanced and multiple people are trying to update the same variables from different nodes in the cluster + the Job Service triggering the execution of work.

hmanwani-rh commented 2 years ago

@StephenOTT Noted, we'll take care of this issue instance in docs. thanks