API Compatibility changes in 7.1.9 for Hadoop

Removed or Modified APIs in CDP 7.1.9 for Hadoop and recommendations for how to handle them.

Apache Base Version of Hadoop in 7.1.7 SP2 was 3.1.1 and Apache Base Version of Hadoop in 7.1.9 is 3.1.1. The Cloudera version 7.1.9 has additional improvements over the Apache Base version.

Removed APIs in 7.1.9

The following APIs are no longer available for Hadoop in CDP 7.1.9

QueueInfo.newInstance

Method Removed

Package Name
org.apache.hadoop.yarn.api.records
Effect
A client program may be interrupted by NoSuchMethodError exception.
Reason for change
YARN-10891
Recommendation
Method signature changed, new parameter: maxParallelApps. If a client application calls this method, it should apply this new parameter as well.
Recompilation Required?
Yes

RemoteIterators.toArray

Method Removed

Package Name
org.apache.hadoop.util.functional
Effect
A client program may be interrupted by NoSuchMethodError exception.
Reason for change
HADOOP-17511
Recommendation
Method signature changed, new parameter: source. If a client application calls this method, it should apply this new parameter as well.
Recompilation Required?
Yes

Modified APIs in 7.1.9

The following APIs have been modified for Hadoop and include a description of the impact of the modifiaction on their use.

QueueInfo

Abstract method void setMaxParallelApps ;int) has been added to this class.

Package Name
org.apache.hadoop.yarn.api.records
Effect
Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method setMaxParallelApps(int) in org.apache.hadoop.yarn.api.records.QueueInfo.
Reason for change
YARN-10891
Recommendation
If a class extends QueueInfo in a client applications, it must implement setMaxParallelApps abstract method.
Recompilation Required?
Yes

QueueInfo

Abstract method int getMaxParallelApps() has been added to this class.

Package Name
org.apache.hadoop.yarn.api.records
Effect
Recompilation of a client program may be terminated with the message: a client class C is not abstract and does not override abstract method getMaxParallelApps() in org.apache.hadoop.yarn.api.records.QueueInfo.
Reason for change
YARN-10891
Recommendation
If a class extends QueueInfo in a client applications, it must implement getMaxParallelApps abstract method.
Recompilation Required?
Yes

QueueInfo

Abstract method int getMaxParallelApps() has been added to this class.

Package Name
org.apache.hadoop.yarn.api.records
Effect
A client program may be interrupted by AbstractMethodError exception. Added abstract method is called in 2nd library version by the method org.apache.hadoop.yarn.client.cli.QueueCLI.printQueueInfo(PrintWriter; QueueInfo) and may not be implemented by old clients.
Reason for change
YARN-10891
Recommendation
If a class extends QueueInfo in a client applications, it must implement getMaxParallelApps abstract method.
Recompilation Required?
Yes