[midPoint-git] [Evolveum/midpoint] f3c253: Reduce the number of query cache invalidations

mederly noreply at github.com
Tue Jan 21 13:39:51 CET 2025


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

  Changed paths:
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/global/GlobalObjectCache.java
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/handlers/ModificationOpHandler.java
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/handlers/PassReason.java
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/handlers/SearchOpHandler.java
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/invalidation/Invalidator.java

  Log Message:
  -----------
  Reduce the number of query cache invalidations

Invalidation of the global (and sometimes local) query cache may be
a costly operation, as we must walk through all the cached queries.
This commit ensures that it's skipped in cases when the object type
in question (like ShadowType) is not query-cached at all.

To be able to do that, this commit forbids caching ObjectType queries
(which are not recommended anyway).

This should improve the performance of shadow add, modify, and delete
operations.


  Commit: 9b5aa74cc26ea5527a036e3dab718c458c0e188c
      https://github.com/Evolveum/midpoint/commit/9b5aa74cc26ea5527a036e3dab718c458c0e188c
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M provisioning/ucf-api/src/main/java/com/evolveum/midpoint/provisioning/ucf/api/UcfResourceObject.java

  Log Message:
  -----------
  Skip costlier UcfResourceObject consistency checks

This should improve the performance of shadow "get" operation a bit.


  Commit: f8e3dcb57c092cf0100a9c043e8f74bd617ef035
      https://github.com/Evolveum/midpoint/commit/f8e3dcb57c092cf0100a9c043e8f74bd617ef035
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-01-21 (Tue, 21 Jan 2025)

  Changed paths:
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/AbstractLazilyInitializableShadowedEntity.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/AssociationsHelper.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowAcquisition.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowPostProcessor.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowedChange.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowFinder.java

  Log Message:
  -----------
  Avoid extra SQL access for embedded shadows

Embedded shadows (used for associations and reference attributes)
do not need "operationExecution" information. So, we exclude it
from the respective repo search operations.

(The back side is that the repository cache is avoided. But we assume
that shadows are usually not cached anyway.)

This should improve performance of provisioning "get" and "search"
operations when many entitlements are present.


Compare: https://github.com/Evolveum/midpoint/compare/7544f10c1177...f8e3dcb57c09

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