[midPoint-git] [Evolveum/midpoint] 607236: Check for conflicts for single-valued items

mederly noreply at github.com
Thu Aug 8 11:27:01 CEST 2024


  Branch: refs/heads/support-4.8
  Home:   https://github.com/Evolveum/midpoint
  Commit: 607236b4d357c9aa67d563d13d434edba6c61d02
      https://github.com/Evolveum/midpoint/commit/607236b4d357c9aa67d563d13d434edba6c61d02
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/IvwoConsolidator.java
    R model/model-impl/src/test/resources/correlator/correlation/users-matching-rules.xml
    M model/model-impl/src/test/resources/correlator/correlation/users-smart-basic.xml
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestInbounds.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/sync/TestImportRecon.java
    A model/model-intest/src/test/resources/inbounds/resource-dummy-inbounds.xml
    M model/model-intest/src/test/resources/sync/resource-dummy-azure.xml
    M model/model-intest/src/test/resources/sync/task-reconcile-dummy-azure.xml
    M model/model-test/src/main/java/com/evolveum/midpoint/model/test/AbstractModelIntegrationTest.java
    M testing/story/src/test/java/com/evolveum/midpoint/testing/story/correlation/AbstractMediumIdMatchCorrelationTest.java
    M testing/story/src/test/resources/correlation/idmatch/medium/object-template-user.xml

  Log Message:
  -----------
  Check for conflicts for single-valued items

When computing data changes, midPoint makes sure that there are no
attempts to put two or more different values into a single-valued
item.

A typical scenario is the existence of two distinct mappings
targeting given item. If these mappings provide two different
values, an error should be signaled.

As described in MID-9621, this check was not fully functional. In
some cases (in particular, when one of the mappings produced a value
that was already present in the item), the error would not be
signaled, and the item value would get overwritten by the value
computed by the other mapping.

The reason is that midPoint checked for the conflicts using
the computed deltas alone. This was not adequate; as the process
of item consolidation ensures that the existing values are not
propagated into resulting deltas.

So this commit adds a functionality to check for collisions
explicitly during the consolidation process.

!!! This can present a non-compatible change for some environments
that may have unstable/inconsistent configurations but currently they
don't encounter any errors because of this bug. !!!

Migration hint: After encountering the new "Strong mappings
provided more than one value for single-valued item" error message,
inspect your mappings in order to find the conflicting ones and
resolve the situation.

---
TestImportRecon, AbstractMediumIdMatchCorrelationTest, and
TestCorrelators were buggy, and had to be fixed in order to execute
after the conflict checking was fixed.

(cherry picked from commit 22e2d8429e269e4c54b19c3e2df153b9fbfd1437)
(cherry picked from commit 7e5ebff476d46a3d7c58073c49ae796e6253ed91)
(cherry picked from commit 79afc07eec75f39435b2d9d82361d7be57d6d14d)
(cherry picked from commit e7f07c4499c4167932a39b44696d0e63d6f5e0ba)


  Commit: 66363a23db226b412e83fb8f583471c0af7af901
      https://github.com/Evolveum/midpoint/commit/66363a23db226b412e83fb8f583471c0af7af901
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-08-08 (Thu, 08 Aug 2024)

  Changed paths:
    M release-notes.adoc

  Log Message:
  -----------
  Update release notes (MID-9621)


Compare: https://github.com/Evolveum/midpoint/compare/43263ec563eb...66363a23db22

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