mxnet-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marco de Abreu <marco.g.ab...@googlemail.com>
Subject Re: Release plan - MXNET 1.0.1
Date Thu, 25 Jan 2018 14:51:27 GMT
1. I'm afraid we got quite a lot of APIs, especially considering the
various Interface languages we support. It would be quite hard and error
prone to verify this.
2. I'm not looking into all PRs, but I can't recall that much attention is
being paid to this fact. I only remember there was a PR from Pedro
regarding changing the pointer type, but I can't recall the outcome.
3. I've spoken to quite a few people recently and I noticed that not
everyone is subscribed to this email lists. Unfortunately, this approach
would also be error prone.
4. I'm not aware of many tests in that area. There is some integration for
the caffee converter and a very small nightly job that trains on the latest
version and runs inference on the previous version, but I dont know which
operators are covered. In general I would say that we don't have enough
integration test coverage, but I'd be happy to be told otherwise.

I'd say they are not sufficient for us to trust.

-Marco


Am 25.01.2018 6:42 vorm. schrieb "kellen sunderland" <
kellen.sunderland@gmail.com>:

By my count we have four mechanisms in place to verify no breaking API
changes have taken place:

1) Have the important public api's changed?  This can be verified in by
inspecting git history of important interfaces.
2) Has anyone indicated in a PR that their change was a breaking change
(reviewers should be aware if so).
3) Email the dev list and ask specifically if there have been breaking
changes done, it seems scala is the only breaking change that I've seen.
4) Integration tests from several languages that run both per PR and
nightly.  If breaking changes happen ideally these should catch them
provided we have enough coverage.  If they've been updated to match a
breaking change this should also be apparent to reviewers.

Of course even with these mechanisms in place breaking changes can slip
through.  I think this is going to be tough to prevent, especially with the
degree of subrepos we have.

Would you disagree that these mechanisms exist, or are you of the opinion
that they just aren't sufficient for us to trust?


On Thu, Jan 25, 2018 at 3:29 PM, Marco de Abreu <
marco.g.abreu@googlemail.com> wrote:

> Hi Kellen,
>
> The reason I proposed a minor release is the matter of the fact that we do
> not know if we have no breaking changes. We currently have no mechanism in
> place to validate this fact and while you are right that this will
probably
> result in a slower adoption rate, I'm more afraid about users just
> upgrading with the expectancy that no API changes were introduced, while
it
> may actually has happened.
>
> As long as we got no mechanism in place to validate the preconditions to
> make this a patch release, we shouldn't act like we guarantee it.
>
> -Marco
>
> Am 25.01.2018 2:01 vorm. schrieb "kellen sunderland" <
> kellen.sunderland@gmail.com>:
>
> > -.5 (non-binding) to releasing as a minor release.  If we don't have any
> > breaking API changes, and we haven't added any major features I would
> tend
> > to release this as a patch release.  The reason being that organizations
> > and users will know that they can apply this release without making
major
> > changes to their dependencies.  It also helps set expectations around
the
> > degree of regression testing you'd expect to do on a release (typically
> > patch releases would require less testing).  For that reason if we
> release
> > as a patch release I think we could expect better adoption rates in the
> > community and within large tech orgs.  If we release as a minor release
> we
> > should expect that many customers may take a long time to update, and as
> a
> > community we will be forced to provide support for bugs which have
> already
> > been fixed.
> >
> > +1 (non-binding) In terms of branching I'd agree that we should apply
> most
> > of the fixes to the previous release branch and build from there.  Happy
> to
> > help with this if needed.
> >
> > On Thu, Jan 25, 2018 at 6:19 AM, Nan Zhu <zhunanmcgill@gmail.com> wrote:
> >
> > > +1 and suggest consolidating all maintenance releases under the same
> > > major.minor version into a single branch
> > >
> > > On Wed, Jan 24, 2018 at 9:06 PM, Meghna Baijal <
> > meghnabaijal2017@gmail.com
> > > >
> > > wrote:
> > >
> > > > I agree. If the release candidate is being cut from the master
> branch,
> > it
> > > > should be considered a minor release.
> > > >
> > > > Anyway the effort involved in the release process is exactly the
same
> > in
> > > > either case.
> > > >
> > > > Thanks,
> > > > Meghna
> > > >
> > > > On Jan 24, 2018 8:56 PM, "Marco de Abreu" <
> > marco.g.abreu@googlemail.com>
> > > > wrote:
> > > >
> > > > > Are there any particular reasons why we are classifying this
> release
> > as
> > > > > patch instead of minor release? As far as I know, we don't have
any
> > > tests
> > > > > in place to determine API changes and thus can't guarantee that
> this
> > is
> > > > an
> > > > > actual patch release. Considering the fact that PRs have been
> merged
> > > > > without having semantic versioning in place, this could be quite
> > risky.
> > > > >
> > > > > Instead, I'd rather propose to make a minor release 1.1 instead of
> > > patch
> > > > > release 1.0.1.
> > > > >
> > > > > -Marco
> > > > >
> > > > > Am 24.01.2018 7:20 nachm. schrieb "Zha, Sheng" <
> zhasheng@amazon.com
> > >:
> > > > >
> > > > > > There’s an experimental API for text data indexing and embedding
> in
> > > > > > mx.contrib.text.
> > > > > >
> > > > > > - Sent by my thumb
> > > > > >
> > > > > > > On Jan 24, 2018, at 7:08 PM, Chris Olivier <
> > cjolivier01@gmail.com>
> > > > > > wrote:
> > > > > > >
> > > > > > > the profiling PR contains a small breaking change, but
i don’t
> > > think
> > > > > it’s
> > > > > > > going into 1.0.1
> > > > > > >
> > > > > > >> On Wed, Jan 24, 2018 at 6:48 PM Haibin Lin <
> > > > haibin.lin.aws@gmail.com>
> > > > > > wrote:
> > > > > > >>
> > > > > > >> Hi everyone,
> > > > > > >>
> > > > > > >> Since the plan was to cut a branch from the master
branch,
the
> > > code
> > > > > will
> > > > > > >> include changes other than the bug fix PRs noted in
the
> release
> > > > note.
> > > > > Is
> > > > > > >> anyone aware of any API changes in the current MXNet
master
> > > branch?
> > > > In
> > > > > > >> particular, are there backward incompatible ones?
> > > > > > >>
> > > > > > >> Best,
> > > > > > >> Haibin
> > > > > > >>
> > > > > > >> On Tue, Jan 23, 2018 at 11:25 AM, Haibin Lin <
> > > > > haibin.lin.aws@gmail.com>
> > > > > > >> wrote:
> > > > > > >>
> > > > > > >>> Hi Sheng,
> > > > > > >>>
> > > > > > >>> 1. I've been following the discussion on the branching
&
> > > versioning
> > > > > > >>> thread. Features like MKLDNN integration should
not go to
> patch
> > > > > release
> > > > > > >>> 1.0.1, and it's risky to merge large PRs right
before the
> > > release.
> > > > > I've
> > > > > > >>> removed the MKLDNN section from the release note.
> > > > > https://cwiki.apache
> > > > > > .
> > > > > > >>> org/confluence/display/MXNET/Apache+MXNet+%28incubating%29+
> > > > > > >>> 1.0.1+Release+Notes
> > > > > > >>>
> > > > > > >>> 2. I agree that we should aim for better test coverage
&
> stable
> > > CI,
> > > > > and
> > > > > > >>> get those disabled/flaky tests fixed eventually.
Fixing
these
> > > > > requires
> > > > > > >>> efforts from the community and I strongly encourage
> > contributors
> > > to
> > > > > > help.
> > > > > > >>> Removing the corresponding feature from the release
doesn't
> > sound
> > > > > > >> practical
> > > > > > >>> since users might be already using some of those.
I suggest
> > that
> > > we
> > > > > > keep
> > > > > > >>> track of these tests on Apache Wiki and make sure
they are
> > > > addressed
> > > > > > for
> > > > > > >>> the release after 1.0.1.
> > > > > > >>>
> > > > > > >>> Hi everyone,
> > > > > > >>>
> > > > > > >>> In terms of the current status for this release,
all
critical
> > bug
> > > > > fixes
> > > > > > >>> are merged (to the best of my knowledge) and we
have made
> good
> > > > > progress
> > > > > > >>> fixing license issues. As Meghna mentioned, a list
of open
> > > > questions
> > > > > > >>> regarding license is at
> > > > > > >> https://cwiki.apache.org/confluence/display/MXNET/
> > > > > > >>> MXNet+Source+Licenses section D - it would be great
if we
can
> > get
> > > > > more
> > > > > > >>> clarification/help/feedback from Apache mentors.
> > > > > > >>>
> > > > > > >>> I suggest that we shoot for code freeze for 1.0.1
rc0 this
> > > > Wednesday.
> > > > > > >> Does
> > > > > > >>> anyone have concern or objection on this?
> > > > > > >>>
> > > > > > >>> Best,
> > > > > > >>> Haibin
> > > > > > >>>
> > > > > > >>> On Tue, Jan 23, 2018 at 7:51 AM, Steffen Rochel
<
> > > > > > steffenrochel@gmail.com
> > > > > > >>>
> > > > > > >>> wrote:
> > > > > > >>>
> > > > > > >>>> Hi Sheng -
> > > > > > >>>> 1. branch usage and versioning - lets converge
our
> discussion
> > > and
> > > > > > >> document
> > > > > > >>>> the agreement on wiki. I started a draft summarizing
my
> > > > > understanding
> > > > > > of
> > > > > > >>>> the proposal at
> > > > > > >>>> https://cwiki.apache.org/confluence/display/MXNET/Release+
> > > > > > >>>> Versioning+and+Branching.
> > > > > > >>>> Lets work together to refine and clarify the
draft, so we
> have
> > > > > clarity
> > > > > > >>>> going forward. I'm inviting everyone to contribute
to this
> > > > > discussion.
> > > > > > >>>> As MKLDNN integration is not ready yet and
we want to
> release
> > > all
> > > > > the
> > > > > > >> good
> > > > > > >>>> improvements including updates in tutorials
and
> documentation
> > I
> > > > > > suggest
> > > > > > >> we
> > > > > > >>>> move forward with the release asap. As we don't
have major
> > > > features
> > > > > or
> > > > > > >>>> non-compatible API changes (to best of my knowledge)
I
think
> > it
> > > is
> > > > > > >>>> appropriate to label the release as 1.0.1.
> > > > > > >>>> Note: This label indicates a patch release.
Patch releases
> > > should
> > > > be
> > > > > > >>>> created from the related release branch. As
we didn't plan
> for
> > > it
> > > > > and
> > > > > > to
> > > > > > >>>> minimize overhead I suggest we make a one time
exception to
> > cut
> > > > the
> > > > > > >> 1.0.1
> > > > > > >>>> release from master branch and clearly communicate
in
> release
> > > > notes.
> > > > > > >> Going
> > > > > > >>>> forward we should follow the methodology for
versioning and
> > > > > branching
> > > > > > to
> > > > > > >>>> whatever we agree on.
> > > > > > >>>> 2. Disabled tests: I agree with your concerns
that we had
to
> > > > disable
> > > > > > 13
> > > > > > >>>> tests due to non-deterministic behavior (see
issues
> > > > > > >>>> <https://github.com/apache/incubator-mxnet/labels/Flaky>).
> > I'm
> > > > > > calling
> > > > > > >> on
> > > > > > >>>> all contributors to help to resolve the non-deterministic
> > > > behavior,
> > > > > so
> > > > > > >> we
> > > > > > >>>> can improve our test coverage. As we discussed
offline,
lets
> > > tests
> > > > > > >>>> manually
> > > > > > >>>> short term, document the known issue in the
release notes
> and
> > > > > > prioritize
> > > > > > >>>> efforts post 1.0.1 release.
> > > > > > >>>>
> > > > > > >>>> Regards,
> > > > > > >>>> Steffen
> > > > > > >>>>
> > > > > > >>>>> On Wed, Jan 17, 2018 at 5:05 PM Sheng Zha
<
> > zhasheng@apache.org
> > > >
> > > > > > wrote:
> > > > > > >>>>>
> > > > > > >>>>> Hi Haibin,
> > > > > > >>>>>
> > > > > > >>>>> Thanks for leading this. I suggest that
we hold onto this
> > > release
> > > > > > >> until
> > > > > > >>>> we
> > > > > > >>>>> have clarity on the following items.
> > > > > > >>>>>
> > > > > > >>>>> 1. branch usage and versioning
> > > > > > >>>>> Given that we are past 1.0 and we're changing
APIs, I'd
> like
> > to
> > > > > > >> suggest
> > > > > > >>>>> that we first agree on how
> > > > > > >>>>> versioning works in mxnet. If we follow
semantic
> versioning,
> > it
> > > > > would
> > > > > > >>>>> suggest that features like
> > > > > > >>>>> MKL-DNN should go at least into 1.1 (minor
version change)
> > > > instead
> > > > > of
> > > > > > >>>>> 1.0.1 (patch release).
> > > > > > >>>>> Also, assuming that new release will come
from a new
forked
> > > > > branch, I
> > > > > > >>>>> suggest that we clarify on how to
> > > > > > >>>>> name the branches too.
> > > > > > >>>>> You can find relevant thread at
> > > > > > >>>>> https://lists.apache.org/thread.html/
> c52f8353f63c1e63b2646ec
> > > > > > >>>> 3b08d9a8180a1381787d777b41b8ac69f@%3Cdev.mxnet.apache.org
> %3E
> > > > > > >>>>>
> > > > > > >>>>> 2. disabled tests
> > > > > > >>>>> For the purpose of stabilizing test automation
system,
many
> > > tests
> > > > > > were
> > > > > > >>>>> disabled. In order to avoid
> > > > > > >>>>> releasing untested features, we should
mitigate the
> situation
> > > of
> > > > > > >> having
> > > > > > >>>>> disabled tests.
> > > > > > >>>>> That means we can fix the tests before
the release, or
> remove
> > > the
> > > > > > >>>>> corresponding feature from release
> > > > > > >>>>> (might be hard to do, e.g. for optimizer).
Otherwise, we
> must
> > > > > > >>>> collectively
> > > > > > >>>>> decide that a feature is
> > > > > > >>>>> OK to release without tests.
> > > > > > >>>>> The thread on this topic can be found at
> > > > > > >>>>> https://lists.apache.org/thread.html/
> addab1937bfcf09b5dfa15c
> > > > > > >>>> 1149ddcebd084f1c4bf4e10a73770fb35@%3Cdev.mxnet.apache.org
> %3E
> > > > > > >>>>>
> > > > > > >>>>> We can proceed on the release with more
confidence once we
> > have
> > > > > > >> clarity.
> > > > > > >>>>>
> > > > > > >>>>> Best regards,
> > > > > > >>>>> -sz
> > > > > > >>>>>
> > > > > > >>>>>> On 2018-01-10 15:33, Haibin Lin <haibin.lin.aws@gmail.com
> >
> > > > wrote:
> > > > > > >>>>>> I am starting the process to prepare
for MXNET 1.0.1
> > release.
> > > I
> > > > > have
> > > > > > >>>>>> drafted release notes
> > > > > > >>>>>> (*
> > > > > > >>>>> https://cwiki.apache.org/confluence/display/MXNET/Apache+
> > > > > > >>>> MXNet+%28incubating%29+1.0.1+Release+Notes
> > > > > > >>>>>> <
> > > > > > >>>>> https://cwiki.apache.org/confluence/display/MXNET/Apache+
> > > > > > >>>> MXNet+%28incubating%29+1.0.1+Release+Notes
> > > > > > >>>>>> *)
> > > > > > >>>>>> to cover the tasks under this release.
> > > > > > >>>>>>
> > > > > > >>>>>> A release candidate will be cut on
Monday 22nd Jan, 2018
> and
> > > > > voting
> > > > > > >>>> will
> > > > > > >>>>>> commence from then till Thursday 25th
Jan, 2018. If you
> have
> > > any
> > > > > > >>>>> additional
> > > > > > >>>>>> features in progress and would like
to include it in this
> > > > release,
> > > > > > >>>> please
> > > > > > >>>>>> assure they have been merged by Thursday
18th Jan, 2018
> with
> > > > > comment
> > > > > > >>>> so I
> > > > > > >>>>>> may update the release notes.
> > > > > > >>>>>>
> > > > > > >>>>>> Feel free to add any other comments/suggestions.
> > > > > > >>>>>>
> > > > > > >>>>>> Thanks,
> > > > > > >>>>>> Haibin
> > > > > > >>>>>>
> > > > > > >>>>>
> > > > > > >>>>
> > > > > > >>>
> > > > > > >>>
> > > > > > >>
> > > > > >
> > > > >
> > > >
> > >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message