Skip to content

FOUR-32800: test compares legacy and optimized - #9046

Merged
pmPaulis merged 2 commits into
task/FOUR-32144from
feature/FOUR-32800
Sep 8, 2026
Merged

FOUR-32800: test compares legacy and optimized#9046
pmPaulis merged 2 commits into
task/FOUR-32144from
feature/FOUR-32800

Conversation

@pmPaulis

@pmPaulis pmPaulis commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

FOUR-32800: test compares legacy and optimized

https://processmaker.atlassian.net/browse/FOUR-32635

Code Review Checklist

  • I have pulled this code locally and tested it on my instance, along with any associated packages.
  • This code adheres to ProcessMaker Coding Guidelines.
  • This code includes a unit test or an E2E test that tests its functionality, or is covered by an existing test.
  • This solution fixes the bug reported in the original ticket.
  • This solution does not alter the expected output of a component in a way that would break existing Processes.
  • This solution does not implement any breaking changes that would invalidate documentation or cause existing Processes to fail.
  • This solution has been tested with enterprise packages that rely on its functionality and does not introduce bugs in those packages.
  • This code does not duplicate functionality that already exists in the framework or in ProcessMaker.
  • This ticket conforms to the PRD associated with this part of ProcessMaker.

@pmPaulis pmPaulis self-assigned this Sep 8, 2026
@cursor

cursor Bot commented Sep 8, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Test-only change with no production behavior; the benchmark may add CI time when the fixture is present.

Overview
Adds testComparesLegacyAndOptimizedTaskUpdateWithLargePayload to TaskControllerUpdateTest, exercising end-to-end task completion with a large data blob from json_optimizer_test_example.json (skips if the fixture is missing).

For three iterations each, it spins up a SingleTask process, triggers the start event, then times PUT task updates on api.tasks.update (v1.0, task_update_v1_1_enabled / token_persistence_raw_enabled off) versus api.1.1.tasks.update (both flags on). It asserts 200 on each update and prints payload size, average latency, and percent improvement to STDOUT—no performance assertion in the test itself.

Supporting imports add Process and ProcessTaskAssignment for realistic process/task setup in the benchmark loop.

Reviewed by Cursor Bugbot for commit c2ea6f6. Bugbot is set up for automated code reviews on this repo. Configure here.

cursor[bot]

This comment was marked as resolved.

@pmPaulis

pmPaulis commented Sep 8, 2026

Copy link
Copy Markdown
Contributor Author
Large task payload: 173,814 bytes
API 1.0 average: 599.40 ms
API 1.1 average: 377.39 ms
Performance improvement: 37.04%

@decisions-sonarqube

Copy link
Copy Markdown

Quality Gate passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code

See analysis details on SonarQube

@pmPaulis
pmPaulis requested a review from gproly September 8, 2026 19:03
@pmPaulis
pmPaulis merged commit daafb12 into task/FOUR-32144 Sep 8, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants