Skip to content

Split huge update action groups/transactions into smaller ones #8788

@fm3

Description

@fm3

Currently, annotation update transactions can become very big. They are split into different requests, and that works fine for the most part. But in the backend, they are recombined into a single group.

Now we got some problems with this group becoming too big. The backend tried to serialize it to json (after dropping volume base64 data, and adding authorId and timestamp to every action) and the result was >2GiB, which the JVM unfortunately still won’t do.

More context: https://scm.slack.com/archives/CMBMU5684/p1753089004459379?thread_ts=1752914209.971799&cid=CMBMU5684

One option would be to split this into multiple transactions already in the frontend, or in the backend when concatenating the transaction’s update groups. However, it is not trivial to decide where to cut, as the json string length isn’t known in advance.

Opinions on this @philippotto @MichaelBuessemeyer @normanrz ?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions