[midPoint-git] [Evolveum/midpoint] 1c3279: Smart Integration #4386: Refactor ObjectClassStati...

Michal Zelenčík noreply at github.com
Tue Feb 17 18:37:31 CET 2026


  Branch: refs/heads/master
  Home:   https://github.com/Evolveum/midpoint
  Commit: 1c32797b5d3327c262b4e603e101a0f119693601
      https://github.com/Evolveum/midpoint/commit/1c32797b5d3327c262b4e603e101a0f119693601
  Author: Michal Zelencik <michal.zelencik at evolveum.com>
  Date:   2026-02-17 (Tue, 17 Feb 2026)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowObjectClassStatisticsTypeUtil.java
    M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/activities/ObjectClassStatisticsComputer.java
    M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestObjectTypesSuggestionOperation.java
    M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestSmartIntegrationServiceImpl.java

  Log Message:
  -----------
  Smart Integration #4386: Refactor ObjectClassStatisticsComputer

Replaced memory-intensive batch processing with streaming incremental
aggregation. The computer no longer stores raw shadow attribute values
in memory (shadowStorage), but instead maintains running counts during
shadow processing.

This enables processing of arbitrarily large datasets without memory
exhaustion, as only unique value counts and value pattern value counts
are retained, not raw data.

- process(ShadowType): incrementally updates counts per shadow
- aggregateAttribute(): merges values into running counts on-the-fly
- postProcessStatistics(): converts aggregated counts to JAXB output
  with Top-N filtering

Tests added to verify correctness of new implementation across
value counting, pattern detection, and edge case handling.

Signed-off-by: Michal Zelencik <michal.zelencik at evolveum.com>


  Commit: 86b961f4464f4480314474248343338bb56e80dc
      https://github.com/Evolveum/midpoint/commit/86b961f4464f4480314474248343338bb56e80dc
  Author: Michal Zelencik <michal.zelencik at evolveum.com>
  Date:   2026-02-17 (Tue, 17 Feb 2026)

  Changed paths:
    M infra/schema/src/main/java/com/evolveum/midpoint/schema/util/ShadowObjectClassStatisticsTypeUtil.java
    M model/smart-impl/src/main/java/com/evolveum/midpoint/smart/impl/activities/ObjectClassStatisticsComputer.java
    M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestObjectTypesSuggestionOperation.java
    M model/smart-impl/src/test/java/com/evolveum/midpoint/smart/impl/TestSmartIntegrationServiceImpl.java

  Log Message:
  -----------
  Merge branch 'improvement/statistics-update'


Compare: https://github.com/Evolveum/midpoint/compare/8fd611d4c47b...86b961f4464f

To unsubscribe from these emails, change your notification settings at https://github.com/Evolveum/midpoint/settings/notifications


More information about the midPoint-svn mailing list