[midPoint-git] [Evolveum/midpoint] 75dab9: Improve bucket management efficiency

mederly noreply at github.com
Wed Apr 14 12:35:54 CEST 2021


  Branch: refs/heads/feature/faster-buckets
  Home:   https://github.com/Evolveum/midpoint
  Commit: 75dab94d3fa25654df149cb8fdbbd01ee9f4b39a
      https://github.com/Evolveum/midpoint/commit/75dab94d3fa25654df149cb8fdbbd01ee9f4b39a
  Author: Pavol Mederly <mederly at evolveum.com>
  Date:   2021-04-14 (Wed, 14 Apr 2021)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/task/TaskOperationStatsUtil.java
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/ModifyObjectResult.java
    M repo/repo-api/src/main/java/com/evolveum/midpoint/repo/api/RepositoryService.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ConcurrencyTest.java
    M repo/repo-sql-impl-test/src/test/java/com/evolveum/midpoint/repo/sql/ModifyTest.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/OperationLogger.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/SqlRepositoryServiceImpl.java
    A repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/ExplicitAccessLock.java
    M repo/repo-sql-impl/src/main/java/com/evolveum/midpoint/repo/sql/helpers/ObjectUpdater.java
    M repo/repo-sqlbase/src/main/java/com/evolveum/midpoint/repo/sqlbase/perfmon/SqlPerformanceMonitorImpl.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/work/WorkStateManager.java
    M repo/task-quartz-impl/src/main/java/com/evolveum/midpoint/task/quartzimpl/work/segmentation/WorkSegmentationStrategy.java
    M testing/story/src/test/resources/buckets/task-recompute-16-04.xml
    M testing/story/src/test/resources/buckets/task-recompute-256-30.xml

  Log Message:
  -----------
  Improve bucket management efficiency

Implemented experimental modifyObjectDynamically method
in the repository API to avoid costly get -> compute delta ->
modify-with-precondition -> retry cycles.

This also changes the semantics of 'conflicts' in bucket management
statistics. The conflicts now represent repo-level conflicts, that
were not measured there previously. (This also required adding repo
perf statistics into ModifyObjectResult.)

Unrelated changes:
- added aggregation of repo performance information in task trees.




More information about the midPoint-svn mailing list