You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pr@jena.apache.org by "afs (via GitHub)" <gi...@apache.org> on 2024/03/11 19:24:54 UTC
[PR] GH-2328: Fuseki tests on MS Windows [jena]
afs opened a new pull request, #2329:
URL: https://github.com/apache/jena/pull/2329
GitHub issue resolved #2328
Pull request Description:
Rewrite jena-fuseki-main tests to create a per-test Fuseki server.
----
By submitting this pull request, I acknowledge that I am making a contribution to the Apache Software Foundation under the terms and conditions of the [Contributor's Agreement](https://www.apache.org/licenses/contributor-agreements.html).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org
Re: [PR] GH-2328: Fuseki tests on MS Windows [jena]
Posted by "afs (via GitHub)" <gi...@apache.org>.
afs commented on code in PR #2329:
URL: https://github.com/apache/jena/pull/2329#discussion_r1522124611
##########
jena-geosparql/src/test/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapTest.java:
##########
@@ -441,6 +437,7 @@ public void testExpiry_change_expiry_interval_reduced() throws InterruptedExcept
*
* @throws java.lang.InterruptedException
*/
+ @Ignore // This test is not stable on loaded CI servers.
Review Comment:
This test has been unstable on all OSes. It's weird - it goes through phases of failing over a period of a few days/weeks for a particular environment, then nothing, then back again. All I can think of is that it is the particular server it gets allocated and that's sticky.
This test is time related - it has built-in fixed time intervals and expected timeouts so long stalls in the test suite trigger the unexpected failure. I don't think it is that likely to affect a downstream build but it could. It's only used in jena-geosparql.
My experience is that the effect of a heavily loaded server is different between Linux and Windows - there seems to be tendency to longer pauses on Windows - no idea why.
The proper solution is now issue #2330 (replace custom `ExpiringMap`) - hopefully someone with geosparql knowledge can help.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org
Re: [PR] GH-2328: Fuseki tests on MS Windows [jena]
Posted by "afs (via GitHub)" <gi...@apache.org>.
afs commented on code in PR #2329:
URL: https://github.com/apache/jena/pull/2329#discussion_r1522124611
##########
jena-geosparql/src/test/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapTest.java:
##########
@@ -441,6 +437,7 @@ public void testExpiry_change_expiry_interval_reduced() throws InterruptedExcept
*
* @throws java.lang.InterruptedException
*/
+ @Ignore // This test is not stable on loaded CI servers.
Review Comment:
This test has been unstable on all OSes. It's weird - it goes through phases of failing over a period of a few days/weeks for a particular environment, then nothing, then back again. All I can think of is that it is the particular server it gets allocated and that's sticky.
This test is time related - it has built-in fixed time intervals and expected timeouts so long stalls in the test suite trigger the unexpected failure. I don't think it is that likely to affect a downstream build but it could.
My experience is that the effect of a heavily loaded server is different between Linux and Windows - there seems to be tendency to longer pauses on Windows - no idea why.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org
Re: [PR] GH-2328: Fuseki tests on MS Windows [jena]
Posted by "afs (via GitHub)" <gi...@apache.org>.
afs merged PR #2329:
URL: https://github.com/apache/jena/pull/2329
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org
Re: [PR] GH-2328: Fuseki tests on MS Windows [jena]
Posted by "afs (via GitHub)" <gi...@apache.org>.
afs commented on PR #2329:
URL: https://github.com/apache/jena/pull/2329#issuecomment-1997302917
> The test suite is less vulnerable
After running GH Windows actions repeatedly across the day and also running in batches of 3-5 at the same time, the test
suite is less vulnerable but not perfect.
So it will be good to get this PR into the codebase and then there is more work to be done.
Usually, it is an auth test that fails, not always the same auth test. In an auth related test there are two HTTP requests - the first attempt results in a 401 and the second with the authentication credentials.
But it is not exclusively auth tests failing. With groups of tests running at the same time, other tests fail sometimes (I'm guessing that a group of tests do share some underlying hardware).
The common factor is creating a Fuseki Server in a Junit `@BeforeClass` and stopping it in `@AfterClass`.
From previous Jena test stability experience, Windows behaves different to Linux in the timing of old ports being collected by the OS kernel and in the way that thread scheduling can cause longer pauses of a thread. That on its own isn't a deep explanation.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org
Re: [PR] GH-2328: Fuseki tests on MS Windows [jena]
Posted by "afs (via GitHub)" <gi...@apache.org>.
afs commented on PR #2329:
URL: https://github.com/apache/jena/pull/2329#issuecomment-1992552676
Finger crossed. The test suite is less vulnerable to heavily loaded build servers causing test interference. 🤞🏻
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org
Re: [PR] GH-2328: Fuseki tests on MS Windows [jena]
Posted by "kinow (via GitHub)" <gi...@apache.org>.
kinow commented on code in PR #2329:
URL: https://github.com/apache/jena/pull/2329#discussion_r1522111307
##########
jena-geosparql/src/test/java/org/apache/jena/ext/io/github/galbiston/expiring_map/ExpiringMapTest.java:
##########
@@ -441,6 +437,7 @@ public void testExpiry_change_expiry_interval_reduced() throws InterruptedExcept
*
* @throws java.lang.InterruptedException
*/
+ @Ignore // This test is not stable on loaded CI servers.
Review Comment:
Is it for all CI servers or just Windows?
Maybe we could replace this by `@EnabledIfEnvironmentVariable` instead? We can have a bunch of tests like this (or fragile/unstable) and enable with `SOME_VAR=1 mvn test blabla`? https://junit.org/junit5/docs/5.2.0/api/org/junit/jupiter/api/condition/EnabledIfEnvironmentVariable.html & https://www.baeldung.com/junit-5-conditional-test-execution
Easier than using test suites or Maven profiles, I think.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: pr-unsubscribe@jena.apache.org
For additional commands, e-mail: pr-help@jena.apache.org