Marco,

Qing and I are working together on this. The idea is that we fail the build
if there is a operator change on the backend and have not synced to the
Scala API. We want to catch this before breaking the user's code which will
be a pretty bad experience.



On Tue, Jun 19, 2018 at 11:54 AM, Marco de Abreu <
marco.g.ab...@googlemail.com.invalid> wrote:

> Hi Qing,
>
> thank you for working on improving the compatibility of our APIs!
>
> Your linked proposal does not describe the mentioned FILEHASH. Could you
> elaborate a bit? Would this be a hash of the entire file, some hash created
> based on the signature of the underlying C++ methods or maybe a different
> approach?
>
> Also, at which step would developers be notified of the change? I'd propose
> that we make this check a nightly job to prevent it from blocking a PR and
> forcing contributors who are not familiar with Scala having to make a
> change to the Scala package. This would allow us to follow up
> asynchronously but still provide actionable events that one can be
> subscribed to.
>
> Best regards,
> Marco
>
> On Tue, Jun 19, 2018 at 11:00 AM Qing Lan <lanking...@live.com> wrote:
>
> > Hi all,
> >
> > I am one of the maintainer for MXNet Scala package. Currently I am
> > building up a hash-check system on the generated API through C. The PR
> is
> > in this URL:
> > https://github.com/apache/incubator-mxnet/pull/11239
> > A file named FILEHASH will be added to the Scala that created the MD5
> > string of the generated API document. It will check the signature of all
> > the operators during Scala CI testing. The reason I am doing this is to
> > make sure Scala developers will always be reminded if there is an
> operator
> > name/argument changes happened in different PRs. More detailed info
> > explained in here:
> >
> > https://cwiki.apache.org/confluence/display/MXNET/
> MXNet+Scala+API+Usability+Improvement
> >
> > Pros:
> > This method will always help us keep backwards compatibility of operators
> > for Scala
> > Cons:
> > Require update on the FILEHASH with new contents when there is an
> operator
> > change. Developers who changed the operator should `make scalapkg` to
> > update that file.
> >
> > Please leave any thoughts you may have for this design and feel free to
> > review the code.
> >
> > Thanks,
> > Qing
> >
> >
>

Reply via email to