Colm, Yes look like we need to have multiple shims.
To support multiple version of Hadoop, we may need a super shim which will find which version of Hadoop ( based on method signature) is used and then instantiate the corresponding sub shim RangerYarnAuthorizer. This may be the case for HDFS plugin also in there is a different behaviors or signature change in authorization hook. Thanks, Ramesh On 11/9/17, 4:22 AM, "Colm O hEigeartaigh" <[email protected]> wrote: >Hi all, > >I'm working on adding support for Hadoop 3.0.0 to the Yarn component >(RANGER-1738). > >YarnAuthorizationProvider has some updated methods in Hadoop 3.0.0. It's >easy to work around this in the RangerYarnAuthorizer though, so that it >supports both Hadoop 2.7.x, 2.8.x and 3.0.0. > >The problem is in the plugin shim code for RangerYarnAuthorizer. It >delegates the calls to the underlying YarnAuthorizationProvider instance. >This means it's not possible to support both 2.7.x and 3.0.0 as it is in >the plugin version of RangerYarnAuthorizer. > >Any ideas on this? The only way I can think of supporting it is to have >separate plugin shims for Hadoop 2 + 3. > >Colm. > > >-- >Colm O hEigeartaigh > >Talend Community Coder >http://coders.talend.com
