Uploaded image for project: 'Beam'
  1. Beam
  2. BEAM-8825

OOM when writing large numbers of 'narrow' rows

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: 2.9.0, 2.10.0, 2.11.0, 2.12.0, 2.13.0, 2.14.0, 2.15.0, 2.16.0, 2.17.0
    • Fix Version/s: 2.18.0
    • Component/s: io-java-gcp
    • Labels:
      None

      Description

      SpannerIO can OOM when writing large numbers of 'narrow' rows. 

       

      SpannerIO puts  input mutation elements into batches for efficient writing.
      These batches are limited by number of cells mutated, and size of data written (5000 cells, 1MB data). SpannerIO groups enough mutations to build 1000 of these groups (5M cells, 1GB data), then sorts and batches them.

      When the number of cells and size of data is very small (<5 cells, <100 bytes), the memory overhead of storing millions of mutations for batching is significant, and can lead to OOMs.

        Attachments

          Activity

            People

            • Assignee:
              nielm Niel Markwick
              Reporter:
              nielm Niel Markwick
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 1h 50m
                1h 50m