Class WorkersReconciliation
- java.lang.Object
-
- com.evolveum.midpoint.repo.common.activity.run.distribution.WorkersReconciliation
-
public class WorkersReconciliation extends Object
Executes the workers reconciliation. This includes 1. auto-reconciliation when distributed activity starts, 2. explicitly requested reconciliation (e.g. via GUI), 3. reconciliation during auto-scaling. The reconciliation process tries to match worker tasks with the "to be" state (driven by configured distribution plus current cluster state). For details please seeexecute(OperationResult)
method.
-
-
Constructor Summary
Constructors Constructor Description WorkersReconciliation(@NotNull Task rootTask, @NotNull Task coordinatorTask, @NotNull ActivityPath activityPath, WorkersReconciliationOptions options, @NotNull CommonTaskBeans beans)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description @NotNull WorkersReconciliationResultType
execute(OperationResult parentResult)
Executes the workers reconciliation.@NotNull List<Task>
getCurrentWorkers(OperationResult result)
-
-
-
Constructor Detail
-
WorkersReconciliation
public WorkersReconciliation(@NotNull @NotNull Task rootTask, @NotNull @NotNull Task coordinatorTask, @NotNull @NotNull ActivityPath activityPath, WorkersReconciliationOptions options, @NotNull @NotNull CommonTaskBeans beans)
-
-
Method Detail
-
execute
@NotNull public @NotNull WorkersReconciliationResultType execute(OperationResult parentResult) throws SchemaException, ObjectNotFoundException, ObjectAlreadyExistsException
Executes the workers reconciliation. The simple part where tasks are on the correct nodes: 1. workers that match "to be" state (i.e. they have appropriate group + name + scavenger flag) are *accepted* - seeskipMatchingWorkers()
; 2. workers that are compatible (matching group + scavenger flag) but with not matching name are simply *renamed*, seerenameCompatibleWorkers(OperationResult)
; 3. workers that are in correct group (but otherwise wrong) are *adapted* by renaming and setting scavenger flag, seeadaptGroupCompatibleWorkers(OperationResult)
; At this moment, we have to start reconciling workers among nodes. TODO finish the description
-
getCurrentWorkers
@NotNull public @NotNull List<Task> getCurrentWorkers(OperationResult result) throws SchemaException
- Throws:
SchemaException
-
-