[midPoint-git] [Evolveum/midpoint] e63c0e: Optimize work allocation (round 1)
Pavol Mederly
mederly at evolveum.com
Mon Apr 16 18:43:35 CEST 2018
Branch: refs/heads/feature/optimizing-work-allocation
Home: https://github.com/Evolveum/midpoint
Commit: e63c0ec58232c8d7bff21e7c1df1cb5af9cd648c
https://github.com/Evolveum/midpoint/commit/e63c0ec58232c8d7bff21e7c1df1cb5af9cd648c
Author: Pavol Mederly <mederly at evolveum.com>
Date: 2018-04-16 (Mon, 16 Apr 2018)
Changed paths:
M infra/schema/src/main/resources/xml/ns/public/common/common-core-3.xsd
M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/work/BaseWorkSegmentationStrategy.java
M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/work/segmentation/ExplicitWorkSegmentationStrategy.java
M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/work/segmentation/NumericWorkSegmentationStrategy.java
M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/work/segmentation/SingleNullWorkSegmentationStrategy.java
M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/work/segmentation/StringWorkSegmentationStrategy.java
M repo/task-quartz-impl/src/test/java/com/evolveum/midpoint/task/quartzimpl/TestWorkDistribution.java
A repo/task-quartz-impl/src/test/resources/work/task-107-0.xml
M repo/task-quartz-impl/src/test/resources/work/task-130-c.xml
Log Message:
-----------
Optimize work allocation (round 1)
Here we optimize creation of new work buckets, to be processed
in batches (instead of one-by-one). Also, when allocating existing
buckets we select them randomly, not getting always the first one.
This helps a bit: although it does not prevent collisions on coordinator
task updates, precondition violations in WorkStateManager are greatly
avoided.
TODO:
- maintain a reasonably long list of ready buckets (for randomization
to work well)
- delegate buckets in batches (not only create them) - this will avoid
contention on the coordinator task even more
More information about the midPoint-svn
mailing list