Skip to content

MID-11015 Summarize operation results before task and trace storage#653

Open
kay1313 wants to merge 1 commit into
masterfrom
fix/MID-11015
Open

MID-11015 Summarize operation results before task and trace storage#653
kay1313 wants to merge 1 commit into
masterfrom
fix/MID-11015

Conversation

@kay1313
Copy link
Copy Markdown
Contributor

@kay1313 kay1313 commented May 20, 2026

Summary

This change reduces oversized functional trace and task result content by storing summarized OperationResult beans instead of full repetitive successful subresult trees.

A new OperationResultUtil.createStoredResultBean(...) helper clones the live result, enables successful-result summarization recursively, calls the existing OperationResult.summarize(true), and returns a storage-friendly OperationResultType. The live OperationResult is not mutated.

The helper is used in:

  • functional trace output creation,
  • task result storage in TaskQuartzImpl.

This keeps important root status and warning/error/fatal branches, while collapsing repeated successful low-level operations.

Related Prism PR:

That Prism change avoids large intermediate byte array allocation when writing ZIP entries and should be reviewed/merged together with this fix.

Testing

Tested with CSV import scenarios:

  • small successful import,
  • small failed import with broken mapping,
  • conflict/ObjectAlreadyExists import,
  • 250-attribute heavy import.

Observed reductions included:

  • small success: 245 partial results / 868k XML → 20 partial results / 91k XML,
  • 250-attribute conflict: 1113 partial results / 3.6MB XML → 80 partial results / 1.0MB XML,
  • 250-attribute success: 1294 partial results / 5.3MB XML → 28 partial results / 1.2MB XML.

Added test coverage for OperationResultUtil.createStoredResultBean(...) to verify summarization, preservation of warning/error/fatal results, round-trip conversion, and no mutation of the source result.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant