[midPoint-git] [Evolveum/midpoint] f48d82: Skip item logging code if not needed

mederly noreply at github.com
Mon Jan 20 09:29:30 CET 2025


  Branch: refs/heads/feature/no-multivalue-metadata
  Home:   https://github.com/Evolveum/midpoint
  Commit: f48d82ac93099d478bf0af26e1b2619afd58a387
      https://github.com/Evolveum/midpoint/commit/f48d82ac93099d478bf0af26e1b2619afd58a387
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/classification/ResourceObjectClassifier.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/run/StatisticsLogger.java

  Log Message:
  -----------
  Skip item logging code if not needed

There's no need to prepare item-level logging information if they're
not used.

This improves the performance of "no-op" import of already existing
shadows in "1s-200m-0t-0m-0a-10ku" scenario by ~3%.


  Commit: 39145abac0d67b71075fd41cf6e6369e2b1babb4
      https://github.com/Evolveum/midpoint/commit/39145abac0d67b71075fd41cf6e6369e2b1babb4
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAttribute.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowReferenceAttribute.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowSimpleAttribute.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowPostProcessor.java

  Log Message:
  -----------
  Skip some definition application if not needed

We can skip applying shadow/attribute definitions in some cases,
especially if there are no auxiliary classes involved.

This improves the performance of "no-op" import of already existing
shadows in "1s-200m-0t-0m-0a-10ku" scenario by ~30%.


  Commit: 5222e8032bd844367125611fec6ef4951bcfbd5b
      https://github.com/Evolveum/midpoint/commit/5222e8032bd844367125611fec6ef4951bcfbd5b
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/PropertyAccess.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/PropertyLimitations.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ShadowAttribute.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/AccessChecker.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowedObjectConstruction.java

  Log Message:
  -----------
  Improve shadowed object construction performance

1. When "shadowizing" resource object fetched from the resource, we
no longer clone individual attributes. We simply move them from the
resource object to the shadow, destroying the original object.

2. Access rights aspects of shadow definition ("canRead" etc) were moved
from prism structures to POJOs, as they are queried quite often, so
their performance is crucial. See the new PropertyAccess class.


  Commit: 39cddb7660e190c1ec32e4f90a36bdb5200401f6
      https://github.com/Evolveum/midpoint/commit/39cddb7660e190c1ec32e4f90a36bdb5200401f6
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-01-20 (Mon, 20 Jan 2025)

  Changed paths:
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowedObjectConstruction.java

  Log Message:
  -----------
  Optimize moveAndShadowizeAttributes even further

Forgotten idea related to the previous commit: if there's no definition
change, we don't have to look up attribute definitions at all.


Compare: https://github.com/Evolveum/midpoint/compare/7b49e4e6625a...39cddb7660e1

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