API Compatibility changes in 7.1.9 for Oozie

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

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

Modified APIs in 7.1.9

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

ActionExecutor.Context

Abstract method String[] getCallbackUrls(String) has been added to this interface.

Package Name
org.apache.oozie.action
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 getCallbackUrls(String) in org.apache.oozie.action.ActionExecutor.Context.
Reason for change
Ability for Oozie to not rely on its LoadBalancer internally
Recommendation
Use the same implementation as ActionExecutorContext or return a single url wrapped into an array.
Recompilation Required?
Yes

ActionExecutor.Context

Abstract method FileSystem getFileSystemForDir(Path) has been added to this interface.

Package Name
org.apache.oozie.action
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 getFileSystemForDir(Path) in org.apache.oozie.action.ActionExecutor.Context.
Reason for change
In order to make action dir base path configurable and Cloud FS ready
Recommendation
Use a similar implementation as ActionExecutorContext.
Recompilation Required?
Yes

JavaActionExecutor.setCredentialTokens

Access level has been changed from protected to package-private.

Package Name
org.apache.oozie.action.hadoop
Effect
Recompilation of a client program may be terminated with the message: setCredentialTokens(Credentials; Configuration; ActionExecutor.Context; WorkflowAction; MapString;CredentialsProperties) has package-private access in org.apache.oozie.action.hadoop.JavaActionExecutor.
Reason for change
Oozie to handle file-system credentials coming from various places
Recommendation
Users should not invoke this method in their own ActionExecutor implementation. If they absolutely need to invoke this, then their own ActionExecutor implementation should be in the org.apache.oozie.action.hadoop package.
Recompilation Required?
Yes