[midPoint-git] [Evolveum/midpoint] 2af292: Smart Integration: Refactor ObjectClassStatisticsC...

Michal Zelenčík noreply at github.com
Tue Feb 17 15:25:43 CET 2026


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

  Changed paths:
    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

  Log Message:
  -----------
  Smart Integration: Refactor ObjectClassStatisticsComputer to use incremental aggregation

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>



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