pnowojski opened a new pull request #18538: URL: https://github.com/apache/flink/pull/18538
This is a draft PR to solve: > Let's assume we have two inputs, one is flipping between available/unavailable status, the other is continuously unavailable. Now per each StreamMultipleInputProcessor#getAvailableFuture call, we will create one CompletableFuture<?> anyInputAvailable, referenced by TWO instances CompletableFuture$UniRun, for inputProcessors[i].getAvailableFuture() from each of the inputs. anyInputAvailable will be returned, and it will be completed by first input sooner or later, waking up SteamTask in the process. That's fine. Now the problem is that each of those anyInputAvailable instance will be in this scenario referenced forever by the second input's inputProcessors[i].getAvailableFuture(). As long as the second input is not available, we are keep building up the memory leak. and a counter proposal to https://github.com/apache/flink/pull/18475 ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (yes / **no**) - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (yes / **no**) - The serializers: (yes / **no** / don't know) - The runtime per-record code paths (performance sensitive): (**yes** / no / don't know) - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / **no** / don't know) - The S3 file system connector: (yes / **no** / don't know) ## Documentation - Does this pull request introduce a new feature? (yes / **no**) - If yes, how is the feature documented? (**not applicable** / docs / JavaDocs / not documented) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
