[midPoint-git] [Evolveum/midpoint] f1e225: Implement "shadow cache use" right in the loader

mederly noreply at github.com
Thu Aug 1 09:20:41 CEST 2024


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: f1e2253c79d8a66994ce8d6dd970a4a12fabeb0b
      https://github.com/Evolveum/midpoint/commit/f1e2253c79d8a66994ce8d6dd970a4a12fabeb0b
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M icf-connectors/dummy-connector/src/main/java/com/evolveum/icf/dummy/connector/AbstractObjectDummyConnector.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-provisioning-3.xsd
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.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/assignments/EvaluatedAssignmentImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/EvaluatedResourceObjectConstructionImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ConsolidationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ReconciliationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/FullInboundsSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/InboundsSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappedSourceItem.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappedSourceItems.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ContextLoader.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ProjectionFullLoadOperation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/mappings/MappingLoader.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/TestSchemaContext.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestShadowCaching.java
    M model/model-intest/src/test/resources/caching/archetype-person.xml
    A model/model-intest/src/test/resources/caching/object-template-person.xml
    M model/model-intest/src/test/resources/caching/resource-dummy-hr.xml
    M model/model-intest/src/test/resources/caching/resource-dummy-target.xml
    A model/model-intest/src/test/resources/caching/task-reconcile-hr-persons.xml
    R model/model-intest/src/test/resources/caching/task-reconcile-persons.xml
    A model/model-intest/src/test/resources/caching/task-reconcile-target-accounts.xml
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionEvaluator.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/DummyDefaultScenario.java

  Log Message:
  -----------
  Implement "shadow cache use" right in the loader

This is the most bullet-proof solution, as it guarantees no unexpected
shadow loading (at least not at projector/clockwork level) will occur.

The USE_CACHED_OR_IGNORE case should be checked at individual callers,
though.

Also extending TestShadowCaching.


  Commit: 53159a80e330f5b2745ec03d3197d61048440124
      https://github.com/Evolveum/midpoint/commit/53159a80e330f5b2745ec03d3197d61048440124
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/prism/wrapper/PrismPropertyWrapperImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/CapabilityUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/internals/InternalsConfig.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/AbstractResourceObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/BasicResourceInformation.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/ShadowAttributeDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-provisioning-3.xsd
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensProjectionContext.java
    M model/model-intest/src/test/resources/password/resource-dummy-souvenir.xml
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningContext.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceManager.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/ShadowComputerUtil.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowDeltaComputerAbsolute.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowDeltaComputerRelative.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowObjectComputer.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.java
    M provisioning/provisioning-impl/src/test/resources/dummy/dummy-caching-extra/resource-dummy-default-caching.xml
    M provisioning/provisioning-impl/src/test/resources/dummy/dummy-caching/resource-dummy.xml

  Log Message:
  -----------
  Improve shadow caching configuration

1. Support for specifying password, activation, and auxiliary object
classes caching was added. Note that it's a bit limited for now:

- password is not updated when reading from the resource
(only when adding/modifying an account);

- auxiliary object classes are always updated in the shadow;
what is new is whether they are used from the cache or not.

2. The default (and the new option) for caching scope of simple
attributes is "defined".

3. Reimplemented the algorithm to determine default configuration
for caching. Now it integrates the system-wide default and the
"read cached" capability.


  Commit: cc065f3629e3f22ac38bb8f5ef1f3ceaaf7050d3
      https://github.com/Evolveum/midpoint/commit/cc065f3629e3f22ac38bb8f5ef1f3ceaaf7050d3
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M docs/deployment/clustering-ha/index.adoc
    M docs/repository/generic/h2.adoc
    M docs/repository/generic/implementation.adoc
    A docs/roles-policies/object-governance.adoc
    R docs/roles-policies/role-governance.adoc
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/page/PageBase.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/api/util/WebComponentUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/action/AbstractGuiAction.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/action/CommentAction.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/action/ConfirmAction.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/component/action/PreAction.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/PageCertCampaign.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/ActionConfigurationPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/ActionConfigurationPanel.java
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/CampaignStatisticsPanel.html
    A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/CampaignStatisticsPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/CertificationItemsPanel.java
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/ConfirmationPanelWithComment.html
    R gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/ConfirmationPanelWithComment.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/ResponsesOverviewPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/ResponsesOverviewPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/component/StatisticBoxPanel.html
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/certification/helpers/CertMiscUtil.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/requestAccess/PersonOfInterestPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/requestAccess/RoleCatalogPanel.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/requestAccess/RoleCatalogQuery.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/breadcrumbs/Breadcrumb.java
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/menu/MainMenuPanel.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/CertCampaignTypeUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-gui-3.xsd
    M release-notes.adoc
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryService.java
    M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/delta/item/ItemDeltaSingleValueProcessor.java
    M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoModifyObjectTest.java

  Log Message:
  -----------
  Merge branch 'refs/heads/master' into tmp/shadow-caching-new


  Commit: 986a1e203d2ead40f06337faa2f6d7e7f3df9052
      https://github.com/Evolveum/midpoint/commit/986a1e203d2ead40f06337faa2f6d7e7f3df9052
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2024-07-31 (Wed, 31 Jul 2024)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/AbstractResourceObjectDefinitionImpl.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestModelServiceContract.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestModelServiceContractCaching.java

  Log Message:
  -----------
  Stop enabling cache use for read:cachingOnly cap

The "read caching only" capability now turns on the caching (as before),
except for its automated use. It breaks some tests. Until researched,
this behavior is turned off.

Also adapted TestModelServiceContractCaching for now-automatically
enabled use of caching in projector.


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

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/prism/wrapper/PrismPropertyWrapperImpl.java
    M icf-connectors/dummy-connector/src/main/java/com/evolveum/icf/dummy/connector/AbstractObjectDummyConnector.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/CapabilityUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/internals/InternalsConfig.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/AbstractResourceObjectDefinitionImpl.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/processor/BasicResourceInformation.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/ShadowAttributeDefinition.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-provisioning-3.xsd
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/LensContext.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/assignments/EvaluatedAssignmentImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/construction/EvaluatedResourceObjectConstructionImpl.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ConsolidationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ReconciliationProcessor.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/FullInboundsSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/InboundsSource.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappedSourceItem.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/inbounds/prep/MappedSourceItems.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ContextLoader.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ProjectionFullLoadOperation.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/mappings/MappingLoader.java
    M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/TestSchemaContext.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestModelServiceContract.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestModelServiceContractCaching.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestShadowCaching.java
    M model/model-intest/src/test/resources/caching/archetype-person.xml
    A model/model-intest/src/test/resources/caching/object-template-person.xml
    M model/model-intest/src/test/resources/caching/resource-dummy-hr.xml
    M model/model-intest/src/test/resources/caching/resource-dummy-target.xml
    A model/model-intest/src/test/resources/caching/task-reconcile-hr-persons.xml
    R model/model-intest/src/test/resources/caching/task-reconcile-persons.xml
    A model/model-intest/src/test/resources/caching/task-reconcile-target-accounts.xml
    M model/model-intest/src/test/resources/password/resource-dummy-souvenir.xml
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ProvisioningContext.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/resources/ResourceManager.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/ShadowComputerUtil.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowDeltaComputerAbsolute.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowDeltaComputerRelative.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowObjectComputer.java
    M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.java
    M provisioning/provisioning-impl/src/test/resources/dummy/dummy-caching-extra/resource-dummy-default-caching.xml
    M provisioning/provisioning-impl/src/test/resources/dummy/dummy-caching/resource-dummy.xml
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/expression/ExpressionEvaluator.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/DummyDefaultScenario.java

  Log Message:
  -----------
  Merge branch 'refs/heads/tmp/shadow-caching-new'


Compare: https://github.com/Evolveum/midpoint/compare/dd56a1bd723e...dba611f8b0b7

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