dmvk commented on code in PR #22169: URL: https://github.com/apache/flink/pull/22169#discussion_r1140223431
########## flink-runtime/src/main/java/org/apache/flink/runtime/scheduler/adaptive/AdaptiveScheduler.java: ########## @@ -1213,4 +1268,17 @@ <T extends State> T transitionToState(StateFactory<T> targetState) { State getState() { return state; } + + /** + * Check for slots that are idle for more than {@link JobManagerOptions#SLOT_IDLE_TIMEOUT} and + * release them back to the ResourceManager. + */ + private void checkIdleSlotTimeout() { + declarativeSlotPool.releaseIdleSlots(System.currentTimeMillis()); + getMainThreadExecutor() + .schedule( + this::checkIdleSlotTimeout, Review Comment: > Could you explain why this method is necessary -don't we release the excessive slots in CreatingExecutionGraph? What is the scenario? We mark the slots as idle with the current timestamp and still need to keep them around until `current timestamp + slot idle timeout`; it's up to the slot pool to decide when slots should be physically released -- 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: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org