Jobs stuck in RUNNABLE due to misconfiguration
- Service environment max resource exceeded
-
When a job submitted to AWS Batch via
SubmitServiceJobreaches the front of the queue, and it requires more instances than the connected service environment's capacity limits allow, then AWS Batch will infer a misconfiguration due to exceeding service environment capacity limits. The service environmentcapacityLimitsstructure supports differentcapacityUnitvalues depending on the scheduling algorithm configured on the job queue.Scheduling algorithm
Service environment
capacityLimits.capacityUnitCondition
First-in, first-out
NUM_INSTANCESJob requests more instances than
maxCapacity. For example, a service environment is configured with a max capacity of 10 instances and a job is submitted that requests 11 instances.Fair-share
NUM_INSTANCESJob requests more instances than
maxCapacity. For example, a service environment is configured with a max capacity of 10 instances and a job is submitted that requests 11 instances.Quota management
Instance type (for example,
ml.m5.xlarge)Job requests more of an instance type than
maxCapacityfor that type. For example, a service environment has a max capacity of 10ml.m5.xlargeinstances and a job is submitted that requests 12ml.m5.xlargeinstances.-
statusReasonmessage while the job is stuck:MISCONFIGURATION:SERVICE_ENVIRONMENT_MAX_RESOURCE - Service environment(s) associated with the job queue cannot meet the capacity requirement of the job. -
reasonused forjobStateTimeLimitActions:MISCONFIGURATION:SERVICE_ENVIRONMENT_MAX_RESOURCE -
statusReasonmessage after the job is terminated byjobStateTimeLimitActions:Terminated by JobStateTimeLimit action due to reason: MISCONFIGURATION:SERVICE_ENVIRONMENT_MAX_RESOURCE
-
- Quota share limits exceeded
-
When a job submitted to AWS Batch via
SubmitServiceJobreaches the front of the queue, and it requires more instances than the quota share's capacity limits allow, then AWS Batch will infer a misconfiguration due to exceeding quota share capacity limits. This analysis depends on how the quota share was configured.resourceSharingStrategyCondition
statusReasonwhile stuckRESERVEorLENDJob requires more of an instance type than the quota share's capacity limits. For example, a job that requests 5
ml.m5.xlargeinstances submitted to a quota share with acapacityLimitof 4ml.m5.xlargeinstances.MISCONFIGURATION:QUOTA_MANAGEMENT_LIMIT_EXCEEDED - Job requirements exceed quota share capacity limits.LEND_AND_BORROWJob requires more than capacity + borrow limits combined. For example, a job that requests 5
ml.m5.xlargeinstances submitted to a quota share with acapacityLimitof 2ml.m5.xlargewith aborrowLimitof100— the largest job this quota share can run is 4 instances.MISCONFIGURATION:QUOTA_MANAGEMENT_LIMIT_EXCEEDED - Job requirements exceed quota share capacity limits and borrow limits.LEND_AND_BORROWJob requires borrowing that exceeds all available borrowable capacity across shares. For example, two quota shares A and B each configured to
LEND_AND_BORROWwith acapacityLimitof 4ml.m5.xlargeinstances and aborrowLimitof 200. A job submitted to quota share A that requests 10ml.m5.xlargeinstances exceeds the max of 8 (own 4 + borrow 4 from B).MISCONFIGURATION:QUOTA_MANAGEMENT_LIMIT_EXCEEDED - Job requires borrowing that exceeds all configured borrowable capacity.-
reasonused forjobStateTimeLimitActions:MISCONFIGURATION:QUOTA_MANAGEMENT_LIMIT_EXCEEDED -
statusReasonmessage after the job is terminated byjobStateTimeLimitActions:Terminated by JobStateTimeLimit action due to reason: MISCONFIGURATION:QUOTA_MANAGEMENT_LIMIT_EXCEEDED
-