Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-17440

Potential Buffer leak in output unspilling for unaligned checkpoints

    XMLWordPrintableJSON

Details

    Description

      @Override
      public void PipelinedSubpartition#initializeState(ChannelStateReader stateReader) throws IOException, InterruptedException {
      	for (ReadResult readResult = ReadResult.HAS_MORE_DATA; readResult == ReadResult.HAS_MORE_DATA;) {
      		BufferBuilder bufferBuilder = parent.getBufferPool().requestBufferBuilderBlocking();
      		BufferConsumer bufferConsumer = bufferBuilder.createBufferConsumer();
      		readResult = stateReader.readOutputData(subpartitionInfo, bufferBuilder); // <<<<<<<<<<<<<<<<<<<<<<<
      		// check whether there are some states data filled in this time
      		if (bufferConsumer.isDataAvailable()) {
      			add(bufferConsumer, false, false);
      			bufferBuilder.finish();
      		} else {
      			bufferConsumer.close();
      		}
      	}
      }
      

      There is a memory leak in output unspilling in case of an exception coming from the stateReader.

      Attachments

        Issue Links

          Activity

            People

              zjwang Zhijiang
              pnowojski Piotr Nowojski
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: