Re: How to setup IntelliJ

2018-07-18 Thread Jacob Barrett
Checkout the latest from develop. Configure IntelliJ Build / Build Tools / Gradle / Uncheck "Create separate module per source set". Refresh the Gradle config (or enable auto import). Compile! -Jake

Re: How to setup IntelliJ

2018-07-18 Thread Jacob Barrett
This patch makes the editor work and breaks the compiler. ;) So it inverts the original problem that IJ compiles Test on Test dependencies but restricts them in the editor. The fix continues to be to write proper tests that don’t depend on other tests. I’ve started breaking out DUnit, which

Re: Assertions in Geode

2018-07-18 Thread Jinmei Liao
dont know what other people do, but I do not use assertions in production code. in test code, I like to use assertJ whenever possible since it provide more convenience methods and more descriptive failure messages than junit assert. On Wed, Jul 18, 2018, 6:52 PM Galen O'Sullivan wrote: > Hi

Assertions in Geode

2018-07-18 Thread Galen O'Sullivan
Hi all, I'm wondering what the collective's opinion of assertions is. I notice there's an org.apache.geode.internal.Assert class, which is used some places, and that plain old Java assertions are used in other places. Can we remove one of these and use the other? Should we be including assertions

Re: How to setup IntelliJ

2018-07-18 Thread Jinmei Liao
+1 for Dan's change. I cant stand IntelliJ showing me any red lines, even though compiler works. On Wed, Jul 18, 2018, 5:00 PM Dan Smith wrote: > I think there is an expectation that changes do not break the IDE as well. > Since this is a big enough pain for everyone, I think we need to do >

Geode unit tests completed in 'develop/DistributedTest' with non-zero exit code

2018-07-18 Thread apachegeodeci
Pipeline results can be found at: Concourse: https://concourse.apachegeode-ci.info/teams/main/pipelines/develop/jobs/DistributedTest/builds/126

Re: Slow DUnit tests for rolling upgrades

2018-07-18 Thread Alexander Murmann
Thanks for catching this, Dan! Not sure what happened there. Let's see if this works better: Why are rolling upgrade tests slow? == Six versions of servers have to to be 1. Started with old version 2. Do some work 3. Shut down 4. Updated 5. Restarted 6. Do more

Re: Slow DUnit tests for rolling upgrades

2018-07-18 Thread Dan Smith
Can you fix the formatting of your message? Seems to have gotten mangled. On Wed, Jul 18, 2018 at 4:20 PM, Alexander Murmann wrote: > Hi all, > > We just had a conversation among some members of the community about the > increasingly slow DUnit tests that are related to rolling upgrades. > >

Re: How to setup IntelliJ

2018-07-18 Thread Dan Smith
I think there is an expectation that changes do not break the IDE as well. Since this is a big enough pain for everyone, I think we need to do something that fixes this issue ASAP. Below is yet another hack that works around the issue, by telling intellij that everything is production source code

Slow DUnit tests for rolling upgrades

2018-07-18 Thread Alexander Murmann
Hi all, We just had a conversation among some members of the community about the increasingly slow DUnit tests that are related to rolling upgrades. Please chime in with questions and concerns! Here are my notes from the discussion: *Why are rolling upgrade tests slow?Six versions of

Re: How to setup IntelliJ

2018-07-18 Thread Jacob Barrett
To be clear this and editor issue not a compiler issue. Do not accidentally check any Gradle hacks in. To fix this someone needs to move framework code out of the test sources. > On Jul 18, 2018, at 3:08 PM, Jinmei Liao wrote: > > With Jake's merge, the my integration/distributed tests in

[Spring CI] Spring Data GemFire > Nightly-ApacheGeode > #982 was SUCCESSFUL (with 2423 tests)

2018-07-18 Thread Spring CI
--- Spring Data GemFire > Nightly-ApacheGeode > #982 was successful. --- Scheduled 2425 tests in total. https://build.spring.io/browse/SGF-NAG-982/ -- This

Re: How to setup IntelliJ

2018-07-18 Thread Jinmei Liao
With Jake's merge, the my integration/distributed tests in geode-cq (and maybe all other non-core modules) are not compiling nicely in IDEA. If you want a quick fix to your IDEA issue and not waiting till all the test refactors are done, you can add these lines in the beginning of that modules

Re: Proposed API for a ConcurrencyTestHelper

2018-07-18 Thread Kirk Lund
I'd love to collaborate on improving ExecutorServiceRule. Let me know if you or anyone else is interested. Honestly, I can't remember why I had it default to one thread unless I was favoring very explicit and tight control over what resources the tests use. Unlimited sounds reasonable for this.

Geode unit tests completed in 'develop/UITests' with non-zero exit code

2018-07-18 Thread apachegeodeci
Pipeline results can be found at: Concourse: https://concourse.apachegeode-ci.info/teams/main/pipelines/develop/jobs/UITests/builds/176

Re: How to setup IntelliJ

2018-07-18 Thread Jacob Barrett
Even maven won’t fix the issue remain in IJ. We need to refactor the code so that Test code does not depend on Test code. It’s just bad form to do so. -Jake > On Jul 18, 2018, at 1:28 PM, Kirk Lund wrote: > > Sai had attempted to extract our testing framework(s) including DUnit to a > new

Re: Moving from gradle to maven

2018-07-18 Thread Jens Deppe
Right regarding the dockerized plugin - that was another pain point when we moved to from 3.x to 4.x. We'll run into the same thing again with every Gradle update when there is an API change. If we think it's worth moving to maven we should do a spike on producing a dockerized test runner.

Re: Proposed API for a ConcurrencyTestHelper

2018-07-18 Thread Dan Smith
> See our ExecutorServiceRule which is in geode-junit. Is that similar to > what you're trying to create? Maybe we need just to > modify ExecutorServiceRule instead of introduce yet another Helper class. I > don't see why we need to add another class that is so similar to both >

Re: Moving from gradle to maven

2018-07-18 Thread Sean Goller
This is a non starter without a maven equivalent of the gradle dockerized plugin. Switching to maven without that will mean longer testing times, which I feel is unacceptable. So far I've found this reference on stack overflow (

Re: How to setup IntelliJ

2018-07-18 Thread Kirk Lund
Sai had attempted to extract our testing framework(s) including DUnit to a new geode-test module. I thought it had been merged to develop but it seems to have been reverted. Anyone know why it had to be reverted? Other than moving to maven, another option would be to separate test types based on

Re: Moving from gradle to maven

2018-07-18 Thread Jens Deppe
+1 For moving to maven. I think the blog Kirk linked hits all the relevant pain points. This is the third time we've done significant Gradle work and every time it is painful. It's also probably never going to get any better. For myself, Gradle certainly feels like a lot of magic happening

Re: Proposed API for a ConcurrencyTestHelper

2018-07-18 Thread Kirk Lund
I've actually been trying to remove most of the Util and Helper classes used by tests. My reasons are two-fold: 1) these classes tend to be very non-OOP, 2) they tend to introduce a new API to the test which then obscures what it's actually doing. When I look at a test, I don't want anything

Re: Proposed API for a ConcurrencyTestHelper

2018-07-18 Thread Jacob Barrett
+1 Echo Dales suggestion for Duration over int for time. -Jake On Wed, Jul 18, 2018 at 12:58 PM Dan Smith wrote: > Hi Helena, > > Looks great! I think this will make writing multithreaded tests a lot less > error prone. A couple of minor comments below: > > I'm not sure we need runInSeries,

Re: How to setup IntelliJ

2018-07-18 Thread Jacob Barrett
The fix has been merged. It only fixes the compilation from IJ. The editor will continue to colorize dependencies from other test sources as missing. This can only be fixed by completing the extraction of the test framework sources into their own module. IJ editor assumes that test code should

Re: Proposed API for a ConcurrencyTestHelper

2018-07-18 Thread Dan Smith
Hi Helena, Looks great! I think this will make writing multithreaded tests a lot less error prone. A couple of minor comments below: I'm not sure we need runInSeries, someone could do that without using this test helper. Could we make the default timeout something more like 5 minutes? See this

Major CI changes PR

2018-07-18 Thread Sean Goller
Hi, I've submitted a PR to make the pipeline much more fork friendly for ease in testing. As soon as this PR gets merged, I expect some degree of instability and redeployment of pipelines, so please be aware of that if you see issues. -Sean.

Re: Moving from gradle to maven

2018-07-18 Thread Patrick Rhomberg
+1 to correcting our current broken gradle build. The fault, dear Brutus, is not in our [tools], but in ourselves. I think the root pain point is that our dependency tree is neither explicit nor correct in several places. I have myself had frequent issues surrounding our Protobuf and OQLLexer

Re: How to setup IntelliJ

2018-07-18 Thread Jacob Barrett
All, I have a fix that appears to address all these issue in a PR. I am just waiting for them to pass come CI because they effect the Gradle build too. Please don’t check in any “fixes” to this IJ integration issue. -Jake > On Jul 18, 2018, at 10:54 AM, Kirk Lund wrote: > > More details:

Re: Proposed API for a ConcurrencyTestHelper

2018-07-18 Thread Dale Emery
Hi Helena, I like it! A few suggestions: - For the durations (repeatForDuration() and setTimeout()), consider using a java.time.Duration rather than an int to express the duration. The Duration class lets most of the code not have to keep track of the time units. The caller creates the

Re: Moving from gradle to maven

2018-07-18 Thread Udo Kohlmeyer
I must agree, the fact that IntelliJ cannot handle the current project structure, is that I believe that we have a complicated project structure. Moving to maven would force a more strict project structure. I don't mind moving to maven, but I believe that we would have similar experiences with

Proposed API for a ConcurrencyTestHelper

2018-07-18 Thread Helena Bales
Hello All, Below I have included a proposed API for a concurrency test helper. The goal of this test helper is to make it easier for tests to use multiple threads. I believe providing a helper for this will reduce the number of tests that incorrectly use threads, and help make our DUnit tests

Geode unit tests completed in 'develop/UITests' with non-zero exit code

2018-07-18 Thread apachegeodeci
Pipeline results can be found at: Concourse: https://concourse.apachegeode-ci.info/teams/main/pipelines/develop/jobs/UITests/builds/172

Moving from gradle to maven

2018-07-18 Thread Kirk Lund
Gradle appears to not play well with IntelliJ unless the project is overly simple. I don't want to spend my days fighting with tools that don't work well together. Here's an interesting blog article about moving from gradle to maven: https://blog.philipphauer.de/moving-back-from-gradle-to-maven/

Re: How to setup IntelliJ

2018-07-18 Thread Kirk Lund
More details: If I open up BasicDistributedTest, I can run it but all of the imports for classes that are also in distributedTest are RED and don't show up in the Project window. After pulling, the following commit is now my head revision. Unfortunately, it doesn't fix my problem. But it did

Re: How to setup IntelliJ

2018-07-18 Thread Kirk Lund
Yes, my head revision is... commit afc8dc8fca846d08581d8027f969ceadec911687 (*HEAD -> **develop*, *origin/develop*, *origin/HEAD*) Author: Anthony Baker Date: Mon Jul 16 16:56:03 2018 -0700 GEODE-5421 Updated dependencies Updated bundled library dependencies. The updated

Re: How to setup IntelliJ

2018-07-18 Thread Anthony Baker
Are you using this commit? commit 89754953080cf3da9ce02a644bd3c0ac9afa1990 Author: Jacob Barrett Date: Tue Jul 17 17:03:22 2018 -0700 GEODE-5363: Fixes issue with build in IJ IDEA. - Splits up LuceneTestUtilities to removed duplication and compile fail. Anthony > On Jul 18,

How to setup IntelliJ

2018-07-18 Thread Kirk Lund
Does anyone have any instructions on setting up IntelliJ with the latest changes? I’ve tried new project from sources and I’ve tried using ./gradlew idea — neither works for me. Basically all non-unit tests end up not being a source set.