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

Reply via email to