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

OOM when writing large numbers of 'narrow' rows

Details

    • Bug
    • Status: Triage Needed
    • P2
    • Resolution: Fixed
    • 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
    • 2.18.0
    • io-java-gcp
    • 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

            nielm Niel Markwick
            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