Re: [PROPOSAL] eliminate file count loophole in PR StressNewTest

2020-03-17 Thread Owen Nichols
At least one person on the thread (@anthony) raised concerns but has not
replied since.

Also since this thread was started, the bug that miscounted files has been
fixed, which is sufficient that stress tests would have been run for about
95% of PRs that previously (erroneously) were given a free pass.  Maybe
that is enough?

I’m hesitant to raise the bar for a required check if it will become an
added hardship, and especially hesitant to create a situation where the
highly-unpopular “manual override” might be the only option.

It might be better to just make slight increases from 25 files/6 hours to
35 files/10 hours, and just ask that if anyone is touching more test files
than that (due to a refactor/rename/reformat) to please make that a
separate PR separate from any actual code changes. This is better for
reviewers too...

Discussion period goes through the end of this week.

On Tue, Mar 17, 2020 at 8:55 AM Dan Smith  wrote:

> Seems like I'm the only one on this thread who even quibbled about removing
> the limit entirely. Let's go ahead and remove the limit.
>
> -Dan
>
> On Fri, Mar 13, 2020 at 8:26 AM Robert Houghton 
> wrote:
>
> > I want the check to stay required for PR merges to be allowed. I also
> want
> > it to do real work in all cases. If I can add whitespace to 25 test
> classes
> > and get a free pass, thats a big testing hole.
> >
> > Remove the limit. Worst case, we have to A) bump timeouts in the future
> B)
> > put the limits back in C) come up with a new paradigm for verifying test
> > quality in a non-deterministic process
> >
> > On Tue, Mar 10, 2020 at 8:58 PM Dan Smith  wrote:
> >
> > > I checked, and 1% of our last 500 commits touched more than 30 tests.
> Of
> > > those 1%, over half touched more than 100 tests. So I'd guess somewhere
> > > around .5% of prs will fall under the proposed changes.
> > >
> > > My preference would be to just raise the threshold given that we
> already
> > > raised the timeout. That'll catch 99% of prs without making test
> > > refactoring and cleanups that touch many tests hard.
> > >
> > > But, I'm ok with removing the limit if people really feel that a manual
> > > override process is better for that 1%.
> > >
> > > -Dan
> > > On Tue, Mar 10, 2020, 4:33 PM Owen Nichols 
> wrote:
> > >
> > > > To recap, the original question was: should we change StressNewTest
> to
> > > > pass ONLY if it is able to successfully run all new/changed tests 50
> > > times
> > > > (eliminating the existing loophole exempting PRs that touch 25 or
> more
> > > > files)?
> > > >
> > > > So far a handful of people have expressed support, but many have
> > > > questions/concerns:
> > > > - One concern was mis-counting of test files touched.  As of today
> this
> > > is
> > > > now fixed.
> > > > - A big concern was that it might become more difficult to pass all
> > > > required PR checks.
> > > > - Another concern was that the current timeout of 6 hours might be
> too
> > > > high / too low.
> > > > - An alternative was suggested to keep the loophole but maybe
> increase
> > > the
> > > > threshold required to get the free pass.
> > > > - If we’re going to raise the bar on any required PR check, maybe we
> > > > should consider making it non-required.
> > > >
> > > > Let’s extend the comment period until the end of next week (Friday
> Mar
> > > 20)
> > > > in hopes of converging on a solution everybody is happy with (even if
> > it
> > > > isn’t what was originally proposed).
> > > >
> > > >
> > > > > On Mar 6, 2020, at 4:51 PM, Donal Evans 
> wrote:
> > > > >
> > > > > With fairly apt timing, we've recently had a PR merged (
> > > > > https://github.com/apache/geode/pull/4745) that introduced a test
> > that
> > > > has
> > > > > resulted in fairly consistently flaky failures in the pipeline
> (JIRA
> > > > > ticket:
> > > https://issues.apache.org/jira/projects/GEODE/issues/GEODE-7843
> > > > ).
> > > > > The PR was quite large and touched/created a lot of tests, so
> > > > StressNewTest
> > > > > never ran on it:
> > > > > https://concourse.apachegeode-ci.info/builds/136784#L5e3ac3fc:2.
> > Given
> > > > how
> > > > > frequently the test is failing in the pipeline (11 failures on
> > various
> > > > > IntegrationTest jobs over the past 6 commits), it seems very likely
> > > that
> > > > > had StressNewTest been allowed to run, this issue would have been
> > > caught
> > > > at
> > > > > the PR stage and could have been remedied then, instead of
> resulting
> > > in a
> > > > > nearly constantly red pipeline.
> > > > >
> > > > > I've already given my +1 to this proposal, but this situation has
> > > > prompted
> > > > > me to make it a +2.
> > > > >
> > > > > On Fri, Mar 6, 2020 at 1:46 PM Donal Evans 
> > wrote:
> > > > >
> > > > >> With fairly apt timing, we've recently had a PR merged (
> > > > >> https://github.com/apache/geode/pull/4745) that introduced a test
> > > that
> > > > >> has resulted in fairly consistently flaky failures in the pipeline
> > > (JIRA
> > 

Re: Discussion on Deprecation

2020-03-17 Thread Jacob Barrett



> On Mar 17, 2020, at 9:03 AM, John Blum  wrote:
> 
> Additionally, it'd be ideal if the deprecated method were then adapted to
> delegate to the new approach.  This will cut down on the number of required
> tests since then you only need a Unit Tests asserting the method performs
> the translation/delegating appropriately, unless of course the behavior is
> changing too.

+1 to delegating



Re: Discussion on Deprecation

2020-03-17 Thread John Blum
Additionally, it'd be ideal if the deprecated method were then adapted to
delegate to the new approach.  This will cut down on the number of required
tests since then you only need a Unit Tests asserting the method performs
the translation/delegating appropriately, unless of course the behavior is
changing too.

On Tue, Mar 17, 2020 at 8:57 AM Udo Kohlmeyer  wrote:

> I think we are also missing the other side of the coin.
>
> Once we deprecate something and we now need a equivalent test that tests
> the same behavior using the new method/approach. i.e now we have to
> double up on the testing of said deprecated method/feature/class. First
> we have to keep the tests around that use the deprecated and now we need
> the same test for the new. Otherwise we cannot ever be certain that both
> approaches work.
>
> In addition to this, if we don't create both tests, we have to create
> all the tests at the time of removal, otherwise we lose coverage.
>
> --Udo
>
> On 3/16/20 9:27 AM, Joris Melchior wrote:
> > +1 on leaving testing of deprecated functionality in place
> >
> > On Mon, Mar 16, 2020 at 11:50 AM Dan Smith  wrote:
> >
> >> +1
> >>
> >> One point though - we do need to leave some tests that specifically test
> >> the deprecated method(s), since we still support the deprecated APIs
> until
> >> we remove them. Everything else should be converted.
> >>
> >> -Dan
> >>
> >> On Sun, Mar 15, 2020 at 6:41 PM Jacob Barrett 
> wrote:
> >>
> >>> Hey Team,
> >>>
> >>> When deprecating a symbol, like class or method, please included a
> >>> reference to the replacement in the java docs. Also please include an
> >>> example of converting from the old API to the new. I am finding many
> many
> >>> places in the source where deprecated code has no hints at all. As many
> >> of
> >>> us don’t take the effort to immediately convert old tests over to the
> new
> >>> APIs the context is lost when someone finally does get around to it.
> For
> >>> public APIs this is extremely important so that users know how to
> migrate
> >>> their code with as few roadblocks as possible.
> >>>
> >>> Here is an example of something that is much better than most of what I
> >> am
> >>> seeing.
> >>>
> >>> /**
> >>>   * @deprecated Replaced with something better and safer.
> >>>   * Replaced by {@link Bar}.
> >>>   */
> >>> @Deprecated
> >>> class Foo {
> >>>/**
> >>> * Do something.
> >>> *
> >>> * @deprecated Replaced with something better.
> >>> * Replaced by {@link Bar#doSomethingBetter()}
> >>> */
> >>>@Deprecated
> >>>public void doSomething() {}
> >>>
> >>>/**
> >>> * Do something.
> >>> *
> >>> * @deprecated Implementation is not safe.
> >>> * Replaced with {@link Bar#doSomethingBetter()} and {@link
> >>> Bar#doSomethingElse()}.
> >>> * Migration example, replace:
> >>> * {@code
> >>> *   Foo foo = new Foo();
> >>> *   foo.doSomethingAndSomethingElse();
> >>> * }
> >>> * with:
> >>> * {@code
> >>> *   Bar bar = Bar();
> >>> *   bar.doSomethingBetter();
> >>> *   bar.doSomethingElse();
> >>> * }
> >>> */
> >>>@Deprecated
> >>>public void doSomethingAndSomethingElse() {}
> >>> }
> >>>
> >>> class Bar {
> >>>public void doSomethingBetter() {}
> >>>public void doSomethingElse() {}
> >>> }
> >>>
> >>> -Jake
> >>>
> >>>
> >
>


-- 
-John
Spring Data Team


Re: Discussion on Deprecation

2020-03-17 Thread Udo Kohlmeyer

I think we are also missing the other side of the coin.

Once we deprecate something and we now need a equivalent test that tests 
the same behavior using the new method/approach. i.e now we have to 
double up on the testing of said deprecated method/feature/class. First 
we have to keep the tests around that use the deprecated and now we need 
the same test for the new. Otherwise we cannot ever be certain that both 
approaches work.


In addition to this, if we don't create both tests, we have to create 
all the tests at the time of removal, otherwise we lose coverage.


--Udo

On 3/16/20 9:27 AM, Joris Melchior wrote:

+1 on leaving testing of deprecated functionality in place

On Mon, Mar 16, 2020 at 11:50 AM Dan Smith  wrote:


+1

One point though - we do need to leave some tests that specifically test
the deprecated method(s), since we still support the deprecated APIs until
we remove them. Everything else should be converted.

-Dan

On Sun, Mar 15, 2020 at 6:41 PM Jacob Barrett  wrote:


Hey Team,

When deprecating a symbol, like class or method, please included a
reference to the replacement in the java docs. Also please include an
example of converting from the old API to the new. I am finding many many
places in the source where deprecated code has no hints at all. As many

of

us don’t take the effort to immediately convert old tests over to the new
APIs the context is lost when someone finally does get around to it. For
public APIs this is extremely important so that users know how to migrate
their code with as few roadblocks as possible.

Here is an example of something that is much better than most of what I

am

seeing.

/**
  * @deprecated Replaced with something better and safer.
  * Replaced by {@link Bar}.
  */
@Deprecated
class Foo {
   /**
* Do something.
*
* @deprecated Replaced with something better.
* Replaced by {@link Bar#doSomethingBetter()}
*/
   @Deprecated
   public void doSomething() {}

   /**
* Do something.
*
* @deprecated Implementation is not safe.
* Replaced with {@link Bar#doSomethingBetter()} and {@link
Bar#doSomethingElse()}.
* Migration example, replace:
* {@code
*   Foo foo = new Foo();
*   foo.doSomethingAndSomethingElse();
* }
* with:
* {@code
*   Bar bar = Bar();
*   bar.doSomethingBetter();
*   bar.doSomethingElse();
* }
*/
   @Deprecated
   public void doSomethingAndSomethingElse() {}
}

class Bar {
   public void doSomethingBetter() {}
   public void doSomethingElse() {}
}

-Jake






Re: [PROPOSAL] eliminate file count loophole in PR StressNewTest

2020-03-17 Thread Dan Smith
Seems like I'm the only one on this thread who even quibbled about removing
the limit entirely. Let's go ahead and remove the limit.

-Dan

On Fri, Mar 13, 2020 at 8:26 AM Robert Houghton 
wrote:

> I want the check to stay required for PR merges to be allowed. I also want
> it to do real work in all cases. If I can add whitespace to 25 test classes
> and get a free pass, thats a big testing hole.
>
> Remove the limit. Worst case, we have to A) bump timeouts in the future B)
> put the limits back in C) come up with a new paradigm for verifying test
> quality in a non-deterministic process
>
> On Tue, Mar 10, 2020 at 8:58 PM Dan Smith  wrote:
>
> > I checked, and 1% of our last 500 commits touched more than 30 tests. Of
> > those 1%, over half touched more than 100 tests. So I'd guess somewhere
> > around .5% of prs will fall under the proposed changes.
> >
> > My preference would be to just raise the threshold given that we already
> > raised the timeout. That'll catch 99% of prs without making test
> > refactoring and cleanups that touch many tests hard.
> >
> > But, I'm ok with removing the limit if people really feel that a manual
> > override process is better for that 1%.
> >
> > -Dan
> > On Tue, Mar 10, 2020, 4:33 PM Owen Nichols  wrote:
> >
> > > To recap, the original question was: should we change StressNewTest to
> > > pass ONLY if it is able to successfully run all new/changed tests 50
> > times
> > > (eliminating the existing loophole exempting PRs that touch 25 or more
> > > files)?
> > >
> > > So far a handful of people have expressed support, but many have
> > > questions/concerns:
> > > - One concern was mis-counting of test files touched.  As of today this
> > is
> > > now fixed.
> > > - A big concern was that it might become more difficult to pass all
> > > required PR checks.
> > > - Another concern was that the current timeout of 6 hours might be too
> > > high / too low.
> > > - An alternative was suggested to keep the loophole but maybe increase
> > the
> > > threshold required to get the free pass.
> > > - If we’re going to raise the bar on any required PR check, maybe we
> > > should consider making it non-required.
> > >
> > > Let’s extend the comment period until the end of next week (Friday Mar
> > 20)
> > > in hopes of converging on a solution everybody is happy with (even if
> it
> > > isn’t what was originally proposed).
> > >
> > >
> > > > On Mar 6, 2020, at 4:51 PM, Donal Evans  wrote:
> > > >
> > > > With fairly apt timing, we've recently had a PR merged (
> > > > https://github.com/apache/geode/pull/4745) that introduced a test
> that
> > > has
> > > > resulted in fairly consistently flaky failures in the pipeline (JIRA
> > > > ticket:
> > https://issues.apache.org/jira/projects/GEODE/issues/GEODE-7843
> > > ).
> > > > The PR was quite large and touched/created a lot of tests, so
> > > StressNewTest
> > > > never ran on it:
> > > > https://concourse.apachegeode-ci.info/builds/136784#L5e3ac3fc:2.
> Given
> > > how
> > > > frequently the test is failing in the pipeline (11 failures on
> various
> > > > IntegrationTest jobs over the past 6 commits), it seems very likely
> > that
> > > > had StressNewTest been allowed to run, this issue would have been
> > caught
> > > at
> > > > the PR stage and could have been remedied then, instead of resulting
> > in a
> > > > nearly constantly red pipeline.
> > > >
> > > > I've already given my +1 to this proposal, but this situation has
> > > prompted
> > > > me to make it a +2.
> > > >
> > > > On Fri, Mar 6, 2020 at 1:46 PM Donal Evans 
> wrote:
> > > >
> > > >> With fairly apt timing, we've recently had a PR merged (
> > > >> https://github.com/apache/geode/pull/4745) that introduced a test
> > that
> > > >> has resulted in fairly consistently flaky failures in the pipeline
> > (JIRA
> > > >> ticket:
> > https://issues.apache.org/jira/projects/GEODE/issues/GEODE-7843
> > > ).
> > > >> The PR was quite large and touched/created a lot of tests, so
> > > StressNewTest
> > > >> never ran on it:
> > > >> https://concourse.apachegeode-ci.info/builds/136784#L5e3ac3fc:2.
> > Given
> > > >> how frequently the test is failing in the pipeline (11 failures on
> > > various
> > > >> IntegrationTest jobs over the past 6 commits), it seems very likely
> > that
> > > >> had StressNewTest been allowed to run, this issue would have been
> > > caught at
> > > >> the PR stage and could have been remedied then, instead of resulting
> > in
> > > a
> > > >> nearly constantly red pipeline.
> > > >>
> > > >> I've already given my +1 to this proposal, but this situation has
> > > prompted
> > > >> me to make it a *+1*.
> > > >>
> > > >> On Tue, Mar 3, 2020 at 2:08 PM Anilkumar Gingade <
> aging...@pivotal.io
> > >
> > > >> wrote:
> > > >>
> > > >>> The stress test is to identify the flaky-ness within the test; and
> > > >>> assuming
> > > >>> any changes to the test may have introduced the flaky-ness.
> > > >>> It's about paying the cost upfront or later when 

Odg: Next release

2020-03-17 Thread Mario Kevo
Thanks for the info!

BR,
Mario

Šalje: Ernest Burghardt 
Poslano: 17. ožujka 2020. 0:06
Prima: dev@geode.apache.org 
Predmet: Re: Next release

Hi Mario,

There is still some work to be done to ensure performance is on par with
previous releases... here are a few tickets related to the efforts

https://issues.apache.org/jira/browse/GEODE-7763
https://issues.apache.org/jira/browse/GEODE-7832
https://issues.apache.org/jira/browse/GEODE-7853
https://issues.apache.org/jira/browse/GEODE-7863
https://issues.apache.org/jira/browse/GEODE-6154

Best regards,
EB

On Mon, Mar 16, 2020 at 2:03 AM Mario Kevo  wrote:

> Hi geode-dev,
>
> When we will have Apache Geode 1.12.0 release?
> I saw that all test passed and the last commit was before 4 days(typos
> correct).
> Are we waiting fix for some critical issue or something else?
>
> Thanks and BR,
> Mario
>