Details
-
Bug
-
Status: Resolved
-
Medium
-
Resolution: Done
-
Nitrogen SR3, Oxygen SR4, Sodium, Fluorine SR3, Neon SR2
-
None
Description
When CDS is faced with large transactions it can easily allocate byte[]s whose size is couple of megabytes. This is problematic with G1GC, as such objects are allocated as humongous objects in the old generation – if they exceed one-half of region size. Region size varies between 1MiB and 32MiB and is recommended to be sized at 1/2048 of heap.
The source of these is CommitTransactionPayload, which retains its serialized form – which is used to write it out either to persistence or to followers. We should be able to store this serialized form in a format which does not rely on such large objects.
Attachments
| # | Subject | Branch | Project | Status | CR | V |
|---|---|---|---|---|---|---|
| 84553,13 | Split up transaction chunks | master | controller | Status: MERGED | +2 | +1 |
| 85013,1 | Split up transaction chunks | stable/sodium | controller | Status: MERGED | +2 | +1 |
| 85016,1 | Split up transaction chunks | stable/neon | controller | Status: MERGED | +2 | +1 |