[midPoint-git] [Evolveum/midpoint] 3780d6: Avoid leaving shadow in reaping state
mederly
noreply at github.com
Wed Nov 10 13:28:34 CET 2021
Branch: refs/heads/master
Home: https://github.com/Evolveum/midpoint
Commit: 3780d62afe0d9011063ceebddbe3c93037528aaf
https://github.com/Evolveum/midpoint/commit/3780d62afe0d9011063ceebddbe3c93037528aaf
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2021-11-10 (Wed, 10 Nov 2021)
Changed paths:
M infra/schema/src/main/java/com/evolveum/midpoint/schema/ResourceShadowDiscriminator.java
M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/MiscSchemaUtil.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-core-3.xsd
M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/ModelElementContext.java
M model/model-api/src/main/java/com/evolveum/midpoint/model/api/context/ModelProjectionContext.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/expr/MidpointFunctionsImpl.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/ClockworkClick.java
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/executor/DeltaExecution.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/LinkUpdater.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/executor/ProjectionChangeExecution.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ActivationProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/DependencyProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/Projector.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/ShadowConstraintsChecker.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/AssignmentProcessor.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/InboundMappingsEvaluation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/MissingShadowContextRefresher.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/loader/ProjectionUpdateOperation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/loader/ProjectionsLoadOperation.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/mappings/ProjectionMappingLoader.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/sync/tasks/recon/RemainingShadowsActivityRun.java
M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/sync/TestSynchronizationService.java
M model/model-impl/src/test/java/com/evolveum/midpoint/model/impl/util/mock/MockFactory.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestAssignmentsProcessing.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/AbstractDirectManualResourceTest.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/AbstractManualResourceTest.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/TestSemiManualDisable.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/manual/TestSemiManualGrouping.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/multi/TestMultiResource.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestLiveSyncTask.java
M model/model-test/src/main/java/com/evolveum/midpoint/model/test/asserter/ProjectionContextFinder.java
M model/workflow-impl/src/test/java/com/evolveum/midpoint/wf/impl/other/ManualResourceTest.java
M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ProvisioningService.java
M provisioning/provisioning-api/src/main/java/com/evolveum/midpoint/provisioning/api/ShadowLivenessState.java
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/ProvisioningServiceImpl.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowCaretaker.java
R provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/ShadowState.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/DeleteHelper.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/GetHelper.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/RefreshHelper.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/SearchHelper.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/ShadowedObjectConstruction.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowedObjectFound.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/ShadowsFacade.java
A provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/StateHelper.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/errors/ObjectNotFoundHandler.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowDeltaComputer.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowManager.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/impl/shadows/manager/ShadowUpdater.java
M provisioning/provisioning-impl/src/main/java/com/evolveum/midpoint/provisioning/util/ProvisioningUtil.java
M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/TestDummyConsistency.java
M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/PendingOperationsAsserter.java
M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ShadowAsserter.java
M testing/story/src/test/java/com/evolveum/midpoint/testing/story/TestServiceAccounts.java
M testing/story/src/test/java/com/evolveum/midpoint/testing/story/consistency/TestConsistencyMechanism.java
M testing/story/src/test/resources/consistency/account-deniels.xml
M testing/story/src/test/resources/consistency/account-hector-not-found.xml
M testing/story/src/test/resources/consistency/resource-opendj-reaper.xml
M testing/story/src/test/resources/consistency/resource-opendj.xml
R testing/story/src/test/resources/consistency/sample-configuration-object.xml
M testing/story/src/test/resources/consistency/user-abom.xml
M testing/story/src/test/resources/consistency/user-abomba.xml
M testing/story/src/test/resources/consistency/user-hector.xml
M testing/story/src/test/resources/consistency/user-jackie.xml
M testing/story/src/test/resources/consistency/user-john.xml
Log Message:
-----------
Avoid leaving shadow in reaping state
This is a fix for MID-7386, where an account (that should exist)
was left in "reaping" state leading to problems after shadow refresh
was run. Although we were not able to reproduce the issue fully, here
are some fixes regarding this.
The main problem was that the projector considered shadows in "reaping"
state as having tombstone=true.
To fix this the following changes were done:
- LensProjectionContext#isTombstone was changed to #isGone. The same for
ResourceShadowDiscriminator. The reason is that this flag covers both
"tombstone" and "corpse" states. The new name emphasises the fact that
the resource object is deleted (gone) from the resource.
- Added transient shadowLifecycleState property to ShadowType. This is
to ensure that the projector knows the exact lifecycle state for
a shadow being obtained from provisioning. All shadows coming to the
projector must have this property.
Other changes needed for the fix:
- Shadows in "reaping" state get policy decision = KEEP during
activation processing.
- Determination of shadow liveness state (needed e.g. for the decision
about linkRef being org:default or org:related) was fixed.
- Links to shadows in reaping state are treated more carefully
in the context loader.
Other changes:
- Some shadow lifecycle states were renamed: conception -> conceived,
gestation -> gestating, life -> live.
Commit: b5b4f9327bc94ce6078f344f42892839e07a3796
https://github.com/Evolveum/midpoint/commit/b5b4f9327bc94ce6078f344f42892839e07a3796
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2021-11-10 (Wed, 10 Nov 2021)
Changed paths:
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/ContainerableListPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/AbstractPageObjectDetails.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/assignmentholder/FocusDetailsModels.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/assignmentholder/component/assignmentType/AbstractAssignmentTypePanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/component/FocusOperationalButtonsPanel.html
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/component/FocusOperationalButtonsPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/component/OperationalButtonsPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/component/UserOperationalButtonsPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/focus/PageFocusDetails.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/resource/component/ResourceContentTabPanel.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/admin/user/PageUser.java
A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/PageOrgSelfProfile.java
A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/PageRoleSelfProfile.java
A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/PageServiceSelfProfile.java
A gui/admin-gui/src/main/java/com/evolveum/midpoint/gui/impl/page/self/PageUserSelfProfile.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/DateInput.java
M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/search/SearchPanel.java
M gui/admin-gui/src/main/resources/initial-objects/000-system-configuration.xml
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/lens/projector/focus/IterationHelper.java
M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/ReindexActivityHandler.java
M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestIteration.java
M model/rest-impl/src/main/java/com/evolveum/midpoint/rest/impl/AbstractRestController.java
M provisioning/ucf-impl-builtin/src/main/java/com/evolveum/midpoint/provisioning/ucf/impl/builtin/ManualConnectorInstance.java
M repo/repo-sqale/src/main/java/com/evolveum/midpoint/repo/sqale/SqaleRepositoryService.java
M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoAddDeleteObjectTest.java
M repo/repo-sqale/src/test/java/com/evolveum/midpoint/repo/sqale/func/SqaleRepoSmokeTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/CertificationTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ExtensionTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/LookupTableTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ModifyTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ObjectDeltaUpdaterTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/PerformanceTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/QueryInterpreterTest.java
M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/util/OrgStructGenerator.java
M repo/repo-sql-impl-test/testng-integration.xml
M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/ObjectRetriever.java
M testing/rest/src/test/java/com/evolveum/midpoint/testing/rest/TestAbstractRestService.java
Log Message:
-----------
Merge remote-tracking branch 'origin/master'
Compare: https://github.com/Evolveum/midpoint/compare/544f0ec8377f...b5b4f9327bc9
More information about the midPoint-svn
mailing list