[
https://issues.apache.org/jira/browse/SOLR-13300?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hoss Man reassigned SOLR-13300:
-------------------------------
Assignee: Hoss Man
Attachment: SOLR-13300.patch
bq. ... It is a good idea to make those base variables thread safe as a proper
defense, but this skip stuff is a real problem.
Yeah, I'm sure that in general it's a good fix for most tests, it's just that
in this particular case where we know there is only single threaded access to
the handle, the lack of being able to use a null key is problematic
After thinking about it a few minutes i realized there's a much simpler
solution: change the test from being smart enough to know that the 'null' key
should be treated differently to making the test smart enough to not bother
testing this permutation at all.
I'm attaching a patch that i'm currently beasting -- if no failures or
objections i'll mover forward w/committing.
----
As far as the broader "meta" conversation goes about if/how to better deal with
null keys in the {{handle}} ... AFAICT this is the only test who's handle usage
miller had to modify when converting to ConcurrentHashMap, so i don't think we
really need to worry about it.
(In general i'm not a fan of this kind of "run the same query against single
node and cloud and test that it produces the same output" type queries anyway,
because they are only useful if the exact same queries are independently tested
for correctness -- ie: "did it even match any docs le alone the correct docs?"
-- somewhere else. We already have better patterns & base classes for writing
cloud tests, we should just leave all this handle/SKIP/compare stuff behind and
move on with good cloud tests)
> Reproducing seed in master for DistributedFacetExistsSmallTest
> --------------------------------------------------------------
>
> Key: SOLR-13300
> URL: https://issues.apache.org/jira/browse/SOLR-13300
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Erick Erickson
> Assignee: Hoss Man
> Priority: Major
> Attachments: SOLR-13300.patch
>
>
> ant test -Dtestcase=DistributedFacetExistsSmallTest -Dtests.method=test
> -Dtests.seed=662700D3AC576EAB -Dtests.slow=true -Dtests.badapples=true
> -Dtests.locale=ca -Dtests.timezone=Europe/Ulyanovsk -Dtests.asserts=true
> -Dtests.file.encoding=ISO-8859-1
> This test hasn't been changed lately, but reproduces 3/3 for me.
>
> {code:java}
> 2> NOTE: reproduce with: ant test
> -Dtestcase=DistributedFacetExistsSmallTest -Dtests.method=test
> -Dtests.seed=662700D3AC576EAB -Dtests.slow=true -Dtests.badapples=true
> -Dtests.locale=ca -Dtests.timezone=Europe/Ulyanovsk -Dtests.asserts=true
> -Dtests.file.encoding=ISO-8859-1
> [junit4] FAILURE 19.1s | DistributedFacetExistsSmallTest.test <<<
> [junit4] > Throwable #1: junit.framework.AssertionFailedError:
> .facet_counts.facet_fields.t_s.null:0!=null
> [junit4] > at
> __randomizedtesting.SeedInfo.seed([662700D3AC576EAB:EE733F0902AB0353]:0)
> [junit4] > at junit.framework.Assert.fail(Assert.java:57)
> [junit4] > at
> org.apache.solr.BaseDistributedSearchTestCase.compareSolrResponses(BaseDistributedSearchTestCase.java:999)
> [junit4] > at
> org.apache.solr.BaseDistributedSearchTestCase.compareResponses(BaseDistributedSearchTestCase.java:1026)
> [junit4] > at
> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:680)
> [junit4] > at
> org.apache.solr.BaseDistributedSearchTestCase.query(BaseDistributedSearchTestCase.java:643)
> [junit4] > at
> org.apache.solr.handler.component.DistributedFacetExistsSmallTest.checkRandomParams(DistributedFacetExistsSmallTest.java:139)
> [junit4] > at
> org.apache.solr.handler.component.DistributedFacetExistsSmallTest.test(DistributedFacetExistsSmallTest.java:87)
> [junit4] > at
> org.apache.solr.BaseDistributedSearchTestCase$ShardsRepeatRule$ShardsFixedStatement.callStatement(BaseDistributedSearchTestCase.java:1082)
> [junit4] > at
> org.apache.solr.BaseDistributedSearchTestCase$ShardsRepeatRule$ShardsStatement.evaluate(BaseDistributedSearchTestCase.java:1054)
> [junit4] > at java.lang.Thread.run(Thread.java:748)
> [junit4] 2> NOTE: leaving temporary files on disk at:
> /Users/Erick/apache/solrVersions/playspace/solr/build/solr-core/test/J0/temp/solr.handler.component.DistributedFacetExistsSmallTest_662700D3AC576EAB-001
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]