[midPoint-git] [Evolveum/midpoint] 30256a: Fix #10714 using conflict detection

Viliam Repan noreply at github.com
Sat May 30 21:56:30 CEST 2026


  Branch: refs/heads/fix/10714-master
  Home:   https://github.com/Evolveum/midpoint
  Commit: 30256a9ae3522c93097c58dcf2088842d0d1cc10
      https://github.com/Evolveum/midpoint/commit/30256a9ae3522c93097c58dcf2088842d0d1cc10
  Author: Viliam Repan <vilo.repan at evolveum.com>
  Date:   2026-05-30 (Sat, 30 May 2026)

  Changed paths:
    M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
    M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-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
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ConflictDetectedException.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ContextFactory.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/LensProjectionContext.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
    A model/model-intest/src/test/resources/contract/resource-dummy-conflict-1.xml
    A model/model-intest/src/test/resources/contract/resource-dummy-conflict-2.xml
    A model/model-intest/src/test/resources/contract/resource-dummy-conflict-3.xml
    A model/model-intest/src/test/resources/contract/resource-dummy-conflict-4.xml
    A model/model-intest/src/test/resources/contract/resource-dummy-conflict-abstract.xml
    A model/model-intest/src/test/resources/contract/resource-dummy-conflict.xml
    A model/model-intest/src/test/resources/contract/task-live-sync-conflict-1.xml
    A model/model-intest/src/test/resources/contract/task-live-sync-conflict-2.xml
    A model/model-intest/src/test/resources/contract/task-live-sync-conflict-3.xml
    A model/model-intest/src/test/resources/contract/task-live-sync-conflict-4.xml
    A model/model-intest/src/test/resources/contract/task-live-sync-conflict.xml
    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-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestWorkerTasks.java
    M repo/repo-common/src/test/resources/tasks/worker-tasks/task-100-single-worker.xml
    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
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/TaskAsserter.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/Task.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/test/NullTaskImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskQuartzImpl.java

  Log Message:
  -----------
  Fix #10714 using conflict detection

What

Improved clockwork conflict resolution to prevent creating
duplicate assignments in a focus object. Mainly RESTART
action was implemented correctly.

Multiple tests were added to check the mechanism in
multi-thread setup (TestRaceConditions).

Why

The goal is to treat situations where concurrent execution
leads to creation of duplicate assignments.



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