diff --git a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/rm/RMContainerAllocator.java b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/rm/RMContainerAllocator.java index 543b20ec01500..3da62bf1cb255 100644 --- a/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/rm/RMContainerAllocator.java +++ b/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/rm/RMContainerAllocator.java @@ -1001,11 +1001,17 @@ private void handleUpdatedNodes(AllocateResponse response) { } private void handleJobPriorityChange(AllocateResponse response) { - Priority priorityFromResponse = Priority.newInstance(response - .getApplicationPriority().getPriority()); + Priority priority = Priority.newInstance(0); + try { + priority = Priority.newInstance(response + .getApplicationPriority().getPriority()); + } catch (Exception e) { + // palantir-hadoop only: ignore NPEs for compatibility with older clusters, along with + // any other exceptions to reduce iteration cycles + } // Update the job priority to Job directly. - getJob().setJobPriority(priorityFromResponse); + getJob().setJobPriority(priority); } @Private diff --git a/palantir/CHANGELOG.md b/palantir/CHANGELOG.md index 469d1bc3a309a..5e14c88945748 100644 --- a/palantir/CHANGELOG.md +++ b/palantir/CHANGELOG.md @@ -34,6 +34,7 @@ Based on Apache Hadoop tag `release-2.9.2-RC0`. * Manual backport of [HADOOP-15938](https://issues.apache.org/jira/browse/HADOOP-15938) * Comment out s3guard quantile creation in S3AInstrumentation as more aggressive version of [HADOOP-16278](https://issues.apache.org/jira/browse/HADOOP-16278) * Use wildfly-openssl in Azure Blob Store connector +* Catch NPEs in RMContainerAllocator#handleJobPriorityChange for compatibility with older clusters # 2.9.2-palantir.9