The shim approach seems pretty good. We use that in Spark itself too in
order to subclass or use semi-private APIs from other projects.


On Wed, Jun 1, 2016 at 4:30 PM, Mridul Muralidharan <mri...@gmail.com>
wrote:

> Another alternative, which is what we do internally here, is to have a shim
> layer in o.a.s namespace : with everything else in our own namespace.
>
> The shim will act not just as a means to private api, but also as an
> abstraction (in theory replaced with different version, impl, etc).
> Keeping rest of o.a.b code 'clean' ... This of course assumes a reasonable
> shim can be built.
>
> Definitely option two compared to clean separation
>
> Regards
> Mridul
>
>
> On Wednesday, June 1, 2016, Marcelo Vanzin <van...@apache.org> wrote:
>
> > On Wed, Jun 1, 2016 at 10:44 AM, Mridul Muralidharan <mri...@gmail.com
> > <javascript:;>> wrote:
> > > That would also depend on whether it is possible to move out of o.a.s
> > > namespace - given the private[spark], etc restriction that scala
> > > imposes.
> > > I think Steve did allude to this in his mail.
> >
> > I think that should be a (reasonably) short-term goal; that would help
> > with making extensions compatible with multiple Spark releases,
> > something that would be harder if they depend on private-ish APIs.
> >
>

Reply via email to