[
https://issues.apache.org/jira/browse/SOLR-17360?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17863930#comment-17863930
]
Jason Gerlowski edited comment on SOLR-17360 at 7/8/24 8:50 PM:
----------------------------------------------------------------
"weirdness with SOLR-16825" definitely makes sense. FWIW this has since been
fixed - see [this
commit|https://github.com/apache/solr/commit/32418eee53b3ea7e284eb0bdb6c734a96794a3ea]
for a decent summary on the issue and the fix.
"./gradlew clean" should be enough to workaround the issue though. I'd just
add a "clean" task to the command to skip broken builds, and the final test
line at the end of the script. e.g.
{code}
#!/bin/sh
# git bisect start BAD_SHA GOOD_SHA
# git bisect run ../bisect.sh
#
(git clean -fd && ./gradlew --stop && ./gradlew tasks && ./gradlew clean
resolve compileTestJava) || exit 125 # this skips broken builds
# Reminder: including @nightly in tests.filter isn't same as
-Ptests.nightly=true because of how test multipler/rarely/usually are affected
#./gradlew -p solr/core test -Ptests.filter='default or @BadApple or @Nightly'
--tests HttpPartitionTest
#./gradlew -p solr/core test -Ptests.nightly=true --tests HttpPartitionTest
./gradlew -p solr/core clean test -Ptests.nightly=true --tests
ShardSplitTest.testSplitMixedReplicaTypes
{code}
On the surface it's a little surprising that "git clean -fd" doesn't achieve
the same effect. The reason is that the generated code goes in the build
directory (which git-clean ignores by default). You could add the "-x" flag to
your "git clean" command, instead of running "gradlew clean", if you prefer.
Either should work.
was (Author: gerlowskija):
"weirdness with SOLR-16825" definitely makes sense. FWIW this has since been
fixed - see [this
commit|https://github.com/apache/solr/commit/32418eee53b3ea7e284eb0bdb6c734a96794a3ea]
for a decent summary on the issue and the fix.
"./gradlew clean" should be enough to workaround the issue though. I'd just
add a "clean" task to the command to skip broken builds, and the final test
line at the end of the script. e.g.
{code}
#!/bin/sh
# git bisect start BAD_SHA GOOD_SHA
# git bisect run ../bisect.sh
#
(git clean -fd && ./gradlew --stop && ./gradlew tasks && ./gradlew clean
resolve compileTestJava) || exit 125 # this skips broken builds
# Reminder: including @nightly in tests.filter isn't same as
-Ptests.nightly=true because of how test multipler/rarely/usually are affected
#./gradlew -p solr/core test -Ptests.filter='default or @BadApple or @Nightly'
--tests HttpPartitionTest
#./gradlew -p solr/core test -Ptests.nightly=true --tests HttpPartitionTest
./gradlew -p solr/core clean test -Ptests.nightly=true --tests
ShardSplitTest.testSplitMixedReplicaTypes
{code}
On the surface it's a little surprising that "git clean -fd" doesn't achieve
the same effect, but the problem is that the generated code goes in the build
directory (which git-clean ignores by default). You could add the "-x" flag to
your "git clean" command, instead of running "gradlew clean", if you prefer.
Either should work.
> ShardSplitTest 100% failures on main branch
> -------------------------------------------
>
> Key: SOLR-17360
> URL: https://issues.apache.org/jira/browse/SOLR-17360
> Project: Solr
> Issue Type: Bug
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Chris M. Hostetter
> Priority: Major
>
> ShardSplitTest is a nightly only testclass that has 4 test methods which have
> recently been failing 100% of the time in jenkins, regardless of seed...
> * testSplitMixedReplicaTypes
> * testSplitStaticIndexReplicationLink
> * testSplitStaticIndexReplication
> * testSplitMixedReplicaTypesLink
>
> ...but AFAICT these failures are not new. IIUC this test has been failing on
> 100% of – the _MAIN_ branch – jenkins builds since ~ Oct/Nov {*}2023{*}!
> (I believe the historical graphs since then just look "sporadic" because it's
> a nightly only test so run's very infrequently and was still (mostly) passing
> on the 9x branch)
>
> ----
>
> It's trivial to see these failures locally, regardless of seed; or whether
> you run a single test method, or multiple test methods.
> Example...
> {noformat}
> git clean -fd && ./gradlew -p solr/core test -Ptests.nightly=true --tests
> ShardSplitTest.testSplitMixedReplicaTypes{noformat}
>
> The failures are all fairly non-sopecific...
> {noformat}
> > java.util.concurrent.TimeoutException: Timeout waiting to see state
> for collection=testSplitMixedReplicaTypes_rewrite
> :DocCollection(testSplitMixedReplicaTypes_rewrite//collections/testSplitMixedReplicaTypes_rewrite/state.json/18
> )={
> > "pullReplicas":2,
> > "configName":"conf1",
> ...
> > at
> __randomizedtesting.SeedInfo.seed([462B215EC450E717:FEE875FE388B3262]:0)
> > at
> org.apache.solr.common.cloud.ZkStateReader.waitForState(ZkStateReader.java:1884)
> > at
> org.apache.solr.cloud.api.collections.ShardSplitTest.doSplitMixedReplicaTypes(ShardSplitTest.java:442)
> > at
> org.apache.solr.cloud.api.collections.ShardSplitTest.testSplitMixedReplicaTypes(ShardSplitTest.java:407){noformat}
>
> ...with no errors in the logs indicating when/what might be going wrong.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]