[midPoint-git] [Evolveum/midpoint] 0448c4: Improve CompositeObjectDefinition performance

mederly noreply at github.com
Fri Sep 29 11:27:15 CEST 2023


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: 0448c44fc8a3aa983822a53e63ac16d8bdf0e8dd
      https://github.com/Evolveum/midpoint/commit/0448c44fc8a3aa983822a53e63ac16d8bdf0e8dd
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-09-29 (Fri, 29 Sep 2023)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/AbstractResourceObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/CompositeObjectDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/CompositeObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceObjectDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaFactory.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/ResourceSchemaUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/deleg/ResourceObjectDefinitionDelegator.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensProjectionContext.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ConsolidationProcessor.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningContext.java
    A testing/story/src/test/java/com/evolveum/midpoint/testing/story/perf/TestSearch.java
    A testing/story/src/test/resources/perf/search/resource-dummy.xml
    A testing/story/src/test/resources/perf/search/system-configuration.xml

  Log Message:
  -----------
  Improve CompositeObjectDefinition performance

There was a performance-related bug introduced in midPoint 4.5
(a5ba3d72ad5600ac090e77d3345e6363c6ec7b8a), manifesting itself when
auxiliary object class definitions were used, and when there were many
attributes. (This is typical for LDAP.) The list of attributes got
re-computed unnecessarily often, so some simple operations like
searching for all accounts on a resource might take considerable time.

This commit introduces caching of the computed list, along with making
sure that all resource schemas are frozen just after being parsed.
(This is a prerequisite for the caching.)

The performance of the attribute lookup could be improved further, but
now it should be comparable to the one in 4.4.

This should resolve MID-9134.


  Commit: f5c937c705cd621e1b2f402f2ac4359aba1ff23a
      https://github.com/Evolveum/midpoint/commit/f5c937c705cd621e1b2f402f2ac4359aba1ff23a
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2023-09-29 (Fri, 29 Sep 2023)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/ChooseMemberPopup.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/component/MemberPopupTabPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/search/panel/RelationSearchItemPanel.java

  Log Message:
  -----------
  Merge remote-tracking branch 'origin/master'


Compare: https://github.com/Evolveum/midpoint/compare/3ac1d18a82f9...f5c937c705cd


More information about the midPoint-svn mailing list