xiangyuf opened a new pull request, #23201: URL: https://github.com/apache/flink/pull/23201
## What is the purpose of the change Add min number of slots configuration to limit total number of slots ## Brief change log - Introduce "slotmanager.number-of-slots.min" configuration option with default value 0 - Introduce "slotmanager.min-total-resource.cpu" and "slotmanager.min-total-resource.memory" configuration option with default value derived from "slotmanager.number-of-slots.min" - Make FineGrainedSlotManager respect the min number of cpu and memory. After FineGrainedSlotManager is started, it will alway check the min resource requirement when declaring resource to resourceAllocator. - Make DeclarativeSlotManager's TaskExecutorManager respect the min number of slots. When TaskExecutorManager is created, it will always fulfill the min-slot-num requirement. ## Verifying this change This change added tests and can be verified as follows: - Added unit tests **SlotManagerConfigurationTest#testComputeMinTotalCpu** and **SlotManagerConfigurationTest#testComputeMinTotalMemory** to test new added options - Added unit tests **FineGrainedSlotManagerTest#testMinTotalCpuResource** and **FineGrainedSlotManagerTest#testMinTotalMemoryResource** to test the function in FineGrainedSlotManager - Added unit tests **TaskExecutorManagerTest#testMinSlotRequirementAllocated** and **TaskExecutorManagerTest#testMinSlotLimitClearPendingSlot** to test the function in DeclarativeSlotManager ## Does this pull request potentially affect one of the following parts: - Dependencies (does it add or upgrade a dependency): (yes / no) no - The public API, i.e., is any changed class annotated with `@Public(Evolving)`: (yes / no) no - The serializers: (yes / no / don't know) no - The runtime per-record code paths (performance sensitive): (yes / no / don't know) no - Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know) yes, it will affect the behavior of SlotManager in JobManager - The S3 file system connector: (yes / no / don't know) no ## Documentation - Does this pull request introduce a new feature? (yes / no) 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: issues-unsubscr...@flink.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org