: 
: I checked using JDK 16 (using JAVA_HOME and RUNTIME_JAVA_HOME) and still
: passed. even checked with beast over 100 iterations on JDK 16 and JDK 17:

Wait a minute ... this test is even more screwy then i initially 
thought...

1) create a HashMap "map" with some key/val pairs
2) use SolrJSONWriter to serialize "map" into String "json"
3) use Utils.fromJSONString() to parse "json" into Object "o"
4) make assertions about key=val lookups on "o"
5) now create "c1" instance of "class C1 implements ReflectMapWriter"
6) use SolrJSONWriter to serialize "c1" ...

        ....and assert that serialized string equals "json" ....

        ....from the serialized "map" !


So this test assumes that the iteration order of a *HashMap* will just 
happen to be the same as the iteration order MethodHandles.Lookup list of 
the fields in a class -- two things that are explicitly documented as 
having non-deterministic ordering.


You're wondering why it failed in this jenkins job...

...i'm wondering why it doesn't fail 95% of the time??????




: 
: RUNTIME_JAVA_HOME=~/Downloads/jdk-16.0.2+7/Contents/Home ./gradlew
: :solr:solrj:test --tests
: "org.apache.solr.common.util.TestSolrJsonWriter.test" -Ptests.jvms=6
: -Ptests.haltonfailure=false "-Ptests.jvmargs=-XX:-UseCompressedOops
: -XX:+UseShenandoahGC" -Ptests.seed=4E90D72E037AA12F -Ptests.multiplier=3
: -Ptests.badapples=false -Ptests.file.encoding=UTF-8
: To honour the JVM settings for this build a single-use Daemon process will
: be forked. See
: 
https://docs.gradle.org/7.6/userguide/gradle_daemon.html#sec:disabling_the_daemon
: .
: Daemon will be stopped at the end of the build
: 
: > Task :altJvmWarning
: NOTE: Alternative java toolchain will be used for compilation and tests:
:   Project will use 16 (Eclipse Temurin JDK 16.0.2+7, home at:
: /Users/risdenk/Downloads/jdk-16.0.2+7/Contents/Home)
:   Gradle runs with 17 (Eclipse Temurin JDK 17.0.6+10, home at:
: /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home)
: ...
: passed.
: 
: Kevin Risden
: 
: 
: On Wed, Jan 25, 2023 at 2:06 PM Chris Hostetter <hossman_luc...@fucit.org>
: wrote:
: 
: >
: > : This doesn't reproduce for me but seems really scary that a simple json
: > : writing test is failing.
: >
: > Did you try using jdk-16 like jenkins?
: >
: > At a glance the part of this test that's failing is checking an
: > anootation/reflection based feature of the writer -- i bet that in past
: > versions of the JRE the order was consistent (if arbitrary) and now it's
: > no longer consistent, so "k1" isn't coming first ?
: >
: >
: > :
: > : Kevin Risden
: > :
: > :
: > : On Wed, Jan 25, 2023 at 1:07 AM Policeman Jenkins Server <
: > : jenk...@thetaphi.de> wrote:
: > :
: > : > Build: https://jenkins.thetaphi.de/job/Solr-main-Linux/9791/
: > : > Java: 64bit/hotspot/jdk-16.0.2 -XX:-UseCompressedOops
: > -XX:+UseShenandoahGC
: > : >
: > : > 1 tests failed.
: > : > FAILED:  org.apache.solr.common.util.TestSolrJsonWriter.test
: > : >
: > : > Error Message:
: > : > org.junit.ComparisonFailure:
: > : > expected:<{"k[1":"v1","k]2":1,"k3":false,"k4"...> but
: > : > was:<{"k[]2":1,"k3":false,"k4"...>
: > : >
: > : > Stack Trace:
: > : > org.junit.ComparisonFailure:
: > : > expected:<{"k[1":"v1","k]2":1,"k3":false,"k4"...> but
: > : > was:<{"k[]2":1,"k3":false,"k4"...>
: > : >         at
: > : >
: > __randomizedtesting.SeedInfo.seed([4E90D72E037AA12F:C6C4E8F4AD86CCD7]:0)
: > : >         at org.junit.Assert.assertEquals(Assert.java:117)
: > : >         at org.junit.Assert.assertEquals(Assert.java:146)
: > : >         at
: > : >
: > 
org.apache.solr.common.util.TestSolrJsonWriter.test(TestSolrJsonWriter.java:70)
: > : >         at
: > : > java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
: > : > Method)
: > : >         at
: > : >
: > 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
: > : >         at
: > : >
: > 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
: > : >         at java.base/java.lang.reflect.Method.invoke(Method.java:567)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner.invoke(RandomizedRunner.java:1758)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner$8.evaluate(RandomizedRunner.java:946)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner$9.evaluate(RandomizedRunner.java:982)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner$10.evaluate(RandomizedRunner.java:996)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:80)
: > : >         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleSetupTeardownChained$1.evaluate(TestRuleSetupTeardownChained.java:44)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleThreadAndTestName$1.evaluate(TestRuleThreadAndTestName.java:45)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
: > : >         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:390)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.ThreadLeakControl.forkTimeoutingTask(ThreadLeakControl.java:843)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.ThreadLeakControl$3.evaluate(ThreadLeakControl.java:490)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner.runSingleTest(RandomizedRunner.java:955)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner$5.evaluate(RandomizedRunner.java:840)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner$6.evaluate(RandomizedRunner.java:891)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.RandomizedRunner$7.evaluate(RandomizedRunner.java:902)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.SystemPropertiesRestoreRule$1.evaluate(SystemPropertiesRestoreRule.java:80)
: > : >         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleStoreClassName$1.evaluate(TestRuleStoreClassName.java:38)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.NoShadowingOrOverridesOnMethodsRule$1.evaluate(NoShadowingOrOverridesOnMethodsRule.java:40)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleAssertionsRequired$1.evaluate(TestRuleAssertionsRequired.java:53)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.AbstractBeforeAfterRule$1.evaluate(AbstractBeforeAfterRule.java:43)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleMarkFailure$1.evaluate(TestRuleMarkFailure.java:44)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleIgnoreAfterMaxFailures$1.evaluate(TestRuleIgnoreAfterMaxFailures.java:60)
: > : >         at
: > : >
: > 
org.apache.lucene.tests.util.TestRuleIgnoreTestSuites$1.evaluate(TestRuleIgnoreTestSuites.java:47)
: > : >         at org.junit.rules.RunRules.evaluate(RunRules.java:20)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.rules.StatementAdapter.evaluate(StatementAdapter.java:36)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.ThreadLeakControl$StatementRunner.run(ThreadLeakControl.java:390)
: > : >         at
: > : >
: > 
com.carrotsearch.randomizedtesting.ThreadLeakControl.lambda$forkTimeoutingTask$0(ThreadLeakControl.java:850)
: > : >         at java.base/java.lang.Thread.run(Thread.java:831)
: > : >
: > : > ---------------------------------------------------------------------
: > : > To unsubscribe, e-mail: builds-unsubscr...@solr.apache.org
: > : > For additional commands, e-mail: builds-h...@solr.apache.org
: > :
: >
: > -Hoss
: > http://www.lucidworks.com/
: >
: > ---------------------------------------------------------------------
: > To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
: > For additional commands, e-mail: dev-h...@solr.apache.org
: >
: >
: 

-Hoss
http://www.lucidworks.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
For additional commands, e-mail: dev-h...@solr.apache.org

Reply via email to