[midPoint-git] [Evolveum/midpoint] 98199d: Implement task workers auto-scaling

mederly noreply at github.com
Thu Aug 19 13:27:05 CEST 2021


  Branch: refs/heads/feature/auto-scaling
  Home:   https://github.com/Evolveum/midpoint
  Commit: 98199d8cb365a1940e33fcd86111905601e5cc06
      https://github.com/Evolveum/midpoint/commit/98199d8cb365a1940e33fcd86111905601e5cc06
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-08-19 (Thu, 19 Aug 2021)

  Changed paths:
    M gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/server/PageNodes.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/result/OperationResult.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/statistics/ActivityBucketManagementStatisticsUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ObjectTypeUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/ActivityItemProcessingStatisticsUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/BucketingUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/TaskTypeUtil.java
    A infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/work/BucketingConstants.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/work/ObjectSetUtil.java
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/work/WorkDefinitionUtil.java
    M infra/schema/src/main/resources/xml/ns/public/common/common-tasks-3.xsd
    M infra/schema/src/test/resources/common/task-1.xml
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/security/NodeAuthenticationEvaluatorImpl.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/cluster/AutoScalingActivityHandler.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/cluster/AutoScalingExecutionSpecifics.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/cluster/AutoScalingWorkDefinition.java
    A model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/cluster/ReconciliationLatch.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/scanner/FocusValidityScanWorkDefinition.java
    M model/model-impl/src/main/java/com/evolveum/midpoint/model/impl/tasks/simple/SimpleActivityHandler.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/TestValueMetadata.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/gensync/TestRoleEntitlement.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/misc/TestTracing.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/negative/TestBrokenResources.java
    A model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestAutoScalingTask.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/tasks/TestLiveSyncTask.java
    R model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/util/MockTaskHandler.java
    M model/model-intest/src/test/java/com/evolveum/midpoint/model/intest/util/MockTriggerHandler.java
    M model/model-intest/src/test/resources/common/task-mock-jack.xml
    M model/model-intest/src/test/resources/importer/import-task.json
    M model/model-intest/src/test/resources/importer/import-task.xml
    M model/model-intest/src/test/resources/importer/import-task.yaml
    A model/model-intest/src/test/resources/tasks/auto-scaling/task-auto-scaling-skip-initial.xml
    A model/model-intest/src/test/resources/tasks/auto-scaling/task-auto-scaling.xml
    A model/model-intest/src/test/resources/tasks/auto-scaling/task-disabled-auto-scaling.xml
    A model/model-intest/src/test/resources/tasks/auto-scaling/task-no-workers.xml
    A model/model-intest/src/test/resources/tasks/auto-scaling/task-two-workers-per-node.xml
    M model/model-intest/testng-integration-full.xml
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/csv/TestCsvBroken.java
    M provisioning/provisioning-impl/src/test/java/com/evolveum/midpoint/provisioning/impl/dummy/AbstractBasicDummyTest.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/TaskActivityManager.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/activity/handlers/NoOpActivityHandler.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/CommonTaskBeans.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ItemProcessingGatekeeper.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ItemProcessingRequest.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/IterativeActivityExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/IterativeActivityExecutionSpecifics.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/ProcessingCoordinator.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/SearchBasedActivityExecution.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/StatisticsLogger.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/BucketOperation.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/BucketingManager.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/CompleteBucketOperation.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/GetBucketOperation.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/ReleaseAllBucketsOperation.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/ReleaseBucketOperation.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/segmentation/BucketContentFactoryGenerator.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/segmentation/ImplicitSegmentationResolver.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/segmentation/content/NumericIntervalBucketUtil.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/segmentation/content/NumericIntervalWorkBucketContentHandler.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/workers/ExpectedSetup.java
    R repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/workers/ExpectedWorkersSetup.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/workers/TaskModificationConflictException.java
    A repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/workers/WorkerCharacterization.java
    R repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/workers/WorkerSpec.java
    R repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/workers/WorkersManager.java
    M repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/work/workers/WorkersReconciliation.java
    R repo/repo-common/src/main/java/com/evolveum/midpoint/repo/common/task/workers/Temp.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/AbstractRepoCommonTest.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestActivities.java
    R repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestBucketManagement.java
    A repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestBucketingLive.java
    A repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestBucketingStatic.java
    R repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestPartitioning.java
    R repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestWorkDistribution.java
    A repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestWorkerTasks.java
    R repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/TestWorkersManagement.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/handlers/composite/MockComponentActivityExecution.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/handlers/iterative/IterativeMockActivityExecutionSpecifics.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/handlers/iterative/IterativeMockWorkDefinition.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/handlers/search/SearchBasedMockActivityExecutionSpecifics.java
    M repo/repo-common/src/test/java/com/evolveum/midpoint/repo/common/tasks/handlers/simple/SimpleMockActivityExecution.java
    M repo/repo-common/src/test/resources/schema/extension.xsd
    A repo/repo-common/src/test/resources/tasks/activities/task-115-no-op-legacy.xml
    A repo/repo-common/src/test/resources/tasks/activities/task-135-no-op.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-100-single-worker-four-buckets.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-200-c.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-200-w.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-210-1.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-210-2.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-210-3.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-210-c.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-220-1.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-220-2.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-220-3.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-220-c.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-230-1.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-230-2.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-230-3.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-230-c.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-300-c.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-live/task-300-w.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-010.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-020.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-030.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-040.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-050.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-100.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-110.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-120.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-130.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-140.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-150.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-200-c.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-200-w.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-210-1.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-210-2.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-210-3.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-210-4.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-210-5.xml
    A repo/repo-common/src/test/resources/tasks/bucketing-static/task-210-c.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-010.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-020.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-030.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-040.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-050.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-100.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-110.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-120.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-130.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-140.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-150.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-200-c.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-200-w.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-210-1.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-210-2.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-210-3.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-210-4.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-210-5.xml
    R repo/repo-common/src/test/resources/tasks/buckets/task-210-c.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-200-c.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-200-w.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-210-1.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-210-2.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-210-3.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-210-c.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-220-1.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-220-2.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-220-3.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-220-c.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-230-1.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-230-2.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-230-3.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-230-c.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-300-c.xml
    R repo/repo-common/src/test/resources/tasks/work-distribution/task-300-w.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/system-configuration.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/task-100-single-worker.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/task-110-four-workers.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/task-120-two-workers-per-node.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/task-130-no-op-bucketing-sanity.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/task-140-workers-update.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/task-150-workers-move.xml
    A repo/repo-common/src/test/resources/tasks/worker-tasks/task-160-workers-add-delete.xml
    M repo/repo-common/testng-integration.xml
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ModifyTest.java
    M repo/repo-sql-impl-test/src/test/resources/modify/task.xml
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/AbstractIntegrationTest.java
    A repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/ObjectCreator.java
    A repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/ObjectCreatorBuilder.java
    A repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityBucketManagementStatisticsAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityItemProcessingStatisticsAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityProgressAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityProgressInformationAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ActivityStateAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ExtensionAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/TaskAsserter.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/ValueMetadataValueAsserter.java
    A repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/predicates/ExceptionBasedAssertionPredicate.java
    M repo/repo-test-util/src/main/java/com/evolveum/midpoint/test/asserter/prism/PrismContainerValueAsserter.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/Task.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskConstants.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskHandler.java
    M repo/task-api/src/main/java/com/evolveum/midpoint/task/api/TaskManager.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/LocalNodeState.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/NodeIdComputer.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskManagerConfiguration.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/TaskManagerQuartzImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/UpAndDown.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/cluster/ClusterExecutionHelperImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/cluster/ClusterManager.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/cluster/ClusterStatusInformationRetriever.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/cluster/NodeRegistrar.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/execution/LocalExecutionManager.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/execution/remote/JmxConnector.java
    R repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/handlers/NoOpTaskHandler.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/nodes/NodeRetriever.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/run/TaskCycleExecutor.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/tasks/TaskRetriever.java
    M repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/AbstractTaskManagerTest.java
    M repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/CleanupTest.java
    R repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/MockCycleTaskHandler.java
    R repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/MockLongTaskHandler.java
    M repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/MockParallelTaskHandler.java
    R repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/MockSingleTaskHandler.java
    A repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/MockTaskHandler.java
    R repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/MockWorkBucketsTaskHandler.java
    R repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/TaskTestUtil.java
    M repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/TestTaskManagerBasic.java
    M repo/task-quartz-impl/src/test/resources/basic/task-allowed-not.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-allowed.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-cycle-loose-cron.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-cycle-loose.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-cycle-tight.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-dummy.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-for-extension-test.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-group-limit-concurrent.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-group-limit.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-long-running.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-non-existing-owner.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-run-on-demand.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-sec-group-limit-exp-1-ram-1.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-sec-group-limit-exp-1.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-sec-group-limit-ram-null.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-simple-waiting.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-single-run.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-suspended-tree-child-1-1.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-suspended-tree-child-1.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-suspended-tree-child-2.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-suspended-tree-root.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-to-delete.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-to-resume-and-suspend.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-to-suspend.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-tree-child-1.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-tree-child-2.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-tree-root.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-waiting-for-no-one.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-with-threads-to-suspend.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-with-threads.xml
    M repo/task-quartz-impl/src/test/resources/basic/task-without-progress.xml
    M repo/task-quartz-impl/src/test/resources/basic/tasks-for-cleanup.xml
    M repo/task-quartz-impl/src/test/resources/miscellaneous/task-42-closed.xml
    M repo/task-quartz-impl/src/test/resources/miscellaneous/task-42-runnable.xml
    M repo/task-quartz-impl/src/test/resources/miscellaneous/task-42-suspended.xml
    M repo/task-quartz-impl/src/test/resources/miscellaneous/task-42-waiting.xml
    R repo/task-quartz-impl/src/test/resources/partitioning/task-100-master.xml
    A repo/task-quartz-impl/src/test/resources/schema/extension.xsd
    R repo/task-quartz-impl/src/test/resources/schema/whatever-extension.xsd
    R repo/task-quartz-impl/src/test/resources/workers/task-100-c.xml
    R repo/task-quartz-impl/src/test/resources/workers/task-110-c.xml
    R repo/task-quartz-impl/src/test/resources/workers/task-200-r.xml
    R repo/task-quartz-impl/src/test/resources/workers/task-210-r.xml
    R repo/task-quartz-impl/src/test/resources/workers/task-220-r.xml

  Log Message:
  -----------
  Implement task workers auto-scaling

This commit introduces auto-scaling activity that periodically
reconciles worker tasks in specified task trees. It does so when
cluster state changes as well as in specified time intervals.

Functional changes in workers reconciliation process:

1. It no longer closes superfluous workers - it suspends them instead,
allowing resuming them when needed.
2. When suspending the workers, any unprocessed buckets are returned
to the coordinator to process them immediately by other workers.
3. When in scavenging phase, non-scavenger workers are not created.
Only the scavengers are.
4. The whole reconciliation is now driven by node.operationalState (i.e.
from repo) instead of node.executionState (determined dynamically).
So in case of unstable clusters or transition situations the results
should be more predictable.

Main related data structure changes:

1. renamed node.operationalStatus to operationalState;
2. removed node.running property;
3. added task.autoScaling container;
4. added bucketing.scavenging property.

Main other (unrelated) changes:

1. Fixed default object type for focus validity scan activity.
2. Migrated NoOpTaskHandler to the activity framework (no-op activity).
3. Removed obsolete mock task handlers. In task-quartz-impl we should
use one of two remaining mock handlers. The repo-common has its own
mocks. And model-impl and higher modules can use no-op activity.
4. Implemented ObjectCreator for bulk objects creation in tests.
5. Cleaned up task manager tests.




More information about the midPoint-svn mailing list