[midPoint-git] [Evolveum/midpoint] 0663ee: Add model test for concurrent assignment creation

mederly noreply at github.com
Fri May 22 14:55:34 CEST 2026


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

  Changed paths:
    A infra/test-util/src/main/java/com/evolveum/midpoint/test/util/AbstractMultithreadCycleRunner.java
    M infra/test-util/src/main/java/com/evolveum/midpoint/test/util/MultithreadRunner.java
    M infra/test-util/src/main/java/com/evolveum/midpoint/test/util/ParallelTestThread.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestRaceConditions.java

  Log Message:
  -----------
  Add model test for concurrent assignment creation

Here we test adding the same assignment by multiple threads
simultaneously, at the model level. There should be only one
assignment present afterwards.

The test is disabled because it fails.

Also, slightly improved parallel threading mechanisms for tests.

See #10714.

(cherry picked from commit c1374e0451433acff487d894224477b09f26380f)


  Commit: f1658def55abdbab86a5c418621237961272cd1e
      https://github.com/Evolveum/midpoint/commit/f1658def55abdbab86a5c418621237961272cd1e
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2026-05-22 (Fri, 22 May 2026)

  Changed paths:
    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/util/ModelImplUtils.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestRaceConditions.java

  Log Message:
  -----------
  Fix #10714 using conflict detection (PoC)

What

This commit proves that the existing mechanism of clockwork
conflict resolution can prevent creating duplicate assignments
in a focus object. The mechanism had to be improved, though.
See the specific fixes.

Work in progress: these fixes have to be improved.
E.g., the restarted operation should be repeated using
the same primary and sync deltas. And the whole thing should
be checked in the context of LiveSync task (see #10714).

Why

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


Compare: https://github.com/Evolveum/midpoint/compare/0663eea7c183%5E...f1658def55ab

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