Tarun Parimi created YARN-9921: ---------------------------------- Summary: Issue in PlacementConstraint when YARN Service AM retries allocation on component failure. Key: YARN-9921 URL: https://issues.apache.org/jira/browse/YARN-9921 Project: Hadoop YARN Issue Type: Bug Affects Versions: 3.1.0 Reporter: Tarun Parimi Assignee: Tarun Parimi
When YARN Service AM tries to relaunch a container on failure, we encounter the below error in PlacementConstraints. {code:java} ERROR impl.AMRMClientAsyncImpl: Exception on heartbeat org.apache.hadoop.yarn.exceptions.YarnException: org.apache.hadoop.yarn.exceptions.SchedulerInvalidResoureRequestException: Invalid updated SchedulingRequest added to scheduler, we only allows changing numAllocations for the updated SchedulingRequest. Old=SchedulingRequestPBImpl{priority=0, allocationReqId=0, executionType={Execution Type: GUARANTEED, Enforce Execution Type: true}, allocationTags=[component], resourceSizing=ResourceSizingPBImpl{numAllocations=0, resources=<memory:557056, vCores:1>}, placementConstraint=notin,node,llap:notin,node,yarn_node_partition/=[label]} new=SchedulingRequestPBImpl{priority=0, allocationReqId=0, executionType={Execution Type: GUARANTEED, Enforce Execution Type: true}, allocationTags=[component], resourceSizing=ResourceSizingPBImpl{numAllocations=1, resources=<memory:557056, vCores:1>}, placementConstraint=notin,node,component:notin,node,yarn_node_partition/=[label]}, if any fields need to be updated, please cancel the old request (by setting numAllocations to 0) and send a SchedulingRequest with different combination of priority/allocationId {code} But we can see from the message that the SchedulingRequest is indeed valid with everything same except numAllocations as expected. But still the below equals check in SingleConstraintAppPlacementAllocator fails. {code:java} // Compare two objects if (!schedulingRequest.equals(newSchedulingRequest)) { // Rollback #numAllocations sizing.setNumAllocations(newNumAllocations); throw new SchedulerInvalidResoureRequestException( "Invalid updated SchedulingRequest added to scheduler, " + " we only allows changing numAllocations for the updated " + "SchedulingRequest. Old=" + schedulingRequest.toString() + " new=" + newSchedulingRequest.toString() + ", if any fields need to be updated, please cancel the " + "old request (by setting numAllocations to 0) and send a " + "SchedulingRequest with different combination of " + "priority/allocationId"); } {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org