Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-7315 use flink's buffers in netty
  3. FLINK-7499

double buffer release in SpillableSubpartitionView

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 1.1.4, 1.1.5, 1.2.0, 1.2.1, 1.2.2, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.4.0
    • 1.4.1, 1.5.0
    • Runtime / Network
    • None

    Description

      SpillableSubpartitionView#releaseMemory() recycles its buffers twice: once asynchronously after the write operation and once in SpillableSubpartitionView#releaseMemory() after adding the write operation to the queue.

      1) if SpillableSubpartitionView#releaseMemory() hits first and the buffer is recycled, the memory region may already be reused despite the pending write
      2) If, for some reason (probably only in tests like SpillableSubpartitionTest#testConsumeSpillablePartitionSpilledDuringConsume()?), the buffer is retained and to be used in parallel somewhere else it may also not be available anymore or contain corrupt data.

      Attachments

        Activity

          People

            nkruber Nico Kruber
            nkruber Nico Kruber
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: