[midPoint-git] [Evolveum/midpoint] 7b7159: Clean-up focus conflict resolution mechanism

mederly noreply at github.com
Fri May 29 15:47:38 CEST 2026


  Branch: refs/heads/fix/10714-4.8
  Home:   https://github.com/Evolveum/midpoint
  Commit: 7b715902e4805c114603062b03de1dfea521543d
      https://github.com/Evolveum/midpoint/commit/7b715902e4805c114603062b03de1dfea521543d
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2026-05-29 (Fri, 29 May 2026)

  Changed paths:
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/Clockwork.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ClockworkConflictResolver.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/FocusConflictResolutionContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensElementContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensFocusContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/DeltaExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/FocusChangeExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/ProjectionChangeExecution.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/util/ModelImplUtils.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestRaceConditions.java
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/ConflictWatcher.java
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/ModificationPrecondition.java
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/RepositoryService.java
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/VersionPrecondition.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/ConflictWatcherImpl.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java

  Log Message:
  -----------
  Clean-up focus conflict resolution mechanism

What

This commit improves the focus conflict resolution mechanism.
Comparing to the state in 4.8.11, the current code:

- Documents how the conflict resolution works.
- Keeps all the state regarding this feature into
  LensContext#focusConflictResolutionContext (it was scattered
  before).
- Simplifies the operation retry attempts. We no longer
  distinguish between conflicts detected by preconditions and
  conflicts detected by watchers.
- Improves determination of expected focus version
  (LensFocusContext#getObjectReadVersion): this fixes failing
  TestUuid and TestMultiResource.
- Fixing assumeConflictResolutionAction test method.

Work in progress. TestRaceConditions still do not work fully.

Why

The conflict resolution algorithm is necessary to fix assignment
duplication problem (#10714).



To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/midpoint/settings/notifications


More information about the midPoint-svn mailing list