[midPoint-git] [Evolveum/midpoint] 4ec883: Relax query cache key equality checking

mederly noreply at github.com
Sat Mar 29 15:58:43 CET 2025


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: 4ec8838a9b89331d01f564f8de6e1b190b54c4b6
      https://github.com/Evolveum/midpoint/commit/4ec8838a9b89331d01f564f8de6e1b190b54c4b6
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2025-03-29 (Sat, 29 Mar 2025)

  Changed paths:
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyMisc.java
    A provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/opendj/TestOpenDjMisc.java
    A provisioning/provisioning-impl/src/test/resources/dummy/misc/resource-dummy-many-associated-intents.xml
    A provisioning/provisioning-impl/src/test/resources/dummy/misc/system-configuration.xml
    A provisioning/provisioning-impl/src/test/resources/opendj/misc/resource-opendj-many-associated-intents.xml
    A provisioning/provisioning-impl/src/test/resources/opendj/misc/system-configuration.xml
    M provisioning/provisioning-impl/testng-integration.xml
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/handlers/CacheUseMode.java
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/local/QueryKey.java
    M repo/repo-cache/src/main/java/com/evolveum/midpoint/repo/cache/local/SingleTypeQueryKey.java

  Log Message:
  -----------
  Relax query cache key equality checking

Repository query caches (local and global) are keyed by queries
issued. Originally, these queries were compared in strict mode,
i.e., definitions of filter items were taken into account.

However, this seems to be too strict. In particular, when
multi-intent associations are concerned, inevitable differences
in definitions make equivalent queries look like different ones.
This lessens the efficiency of the cache, as there are extra
misses.

This commit relaxes query cache key equality checking, basically
by ignoring the definitions (and relaxing path comparison).

It resolves MID-10600.

NOTE: Associations were largely reworked in 4.9. The original issue
described in MID-10600 was not present in 4.9 and above. However, I
think it is good to have consistent treatment of query keys in 4.8
and later versions, and also that relaxed equality checking can help
also in other situations. Hence the cherry-pick.

(cherry-picked from a0c8e1c35ae914c605f7d032c6f624d13eaab328)
(cherry-picked from 5a7029cef558aa14eb9d588a53529aa6a7fc0190)



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