[ 
https://issues.apache.org/jira/browse/SOLR-11454?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16197797#comment-16197797
 ] 

Hoss Man commented on SOLR-11454:
---------------------------------

Here's an example of a jenkins failure (the full logs are no longer 
available)...

https://builds.apache.org/job/Lucene-Solr-Tests-7.x/163/

{noformat}
FAILED:  
org.apache.solr.update.SoftAutoCommitTest.testSoftAndHardCommitMaxTimeMixedAdds

Error Message:
hard529 was before searcher529: 6264322578200422 !<= 6264322016290268

Stack Trace:
java.lang.AssertionError: hard529 was before searcher529: 6264322578200422 !<= 
6264322016290268
        at 
__randomizedtesting.SeedInfo.seed([995B4A163C40F912:C88FB3968D33C9B5]:0)
        at org.junit.Assert.fail(Assert.java:93)
        at org.junit.Assert.assertTrue(Assert.java:43)
        at 
org.apache.solr.update.SoftAutoCommitTest.testSoftAndHardCommitMaxTimeMixedAdds(SoftAutoCommitTest.java:230)

{noformat}

The intent here is to "verify" that the searcher was open because of the soft 
commit -- not the hard commit.  But there is no garuntee that a newSearcher 
event triggered by the (auto)SoftCommit will finish before a subsequent hard 
commit.

we should remove this (type of) check and instead either:
* wait for an extended period after the hard commit to assert there isn't a 
second newSearcher
* add a varient of these test methods where hardAutoCommit is disabled to 
ensure the searcher we eventually get is in fact because of the (auto)softCommit
** it would probably be pretty easy to parameterize the softCommitWaitMillis 
and hardCommitWaitMillis in methods, so a variant could use 
hardCommitWaitMillis=-1, and then do the hardCommit assertions conditionally if 
and only if 0 < hardCommitWaitMillis

> relax newSearcher based time checks in SoftAutoCommitTest
> ---------------------------------------------------------
>
>                 Key: SOLR-11454
>                 URL: https://issues.apache.org/jira/browse/SOLR-11454
>             Project: Solr
>          Issue Type: Sub-task
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Hoss Man
>
> The point of SoftAutoCommitTest is to ensure that auto-commits fire when 
> expected.
> The timing based checks on those autocommits are a semi-neccessary evil to 
> ensure that the test doesn't get false positives due to some other commits.
> The test also sanity checks that auto-commits result in newSearcher events 
> if/when they should -- but these also (currently) have timing checks ot 
> ensure that they happen "fast enough" ... this seems unneccessary (given the 
> purpose of hte test) and broken (there's no guarantee/expectation how fast a 
> searcher will open, even though the test assumes it will be a number relative 
> to the autocommit setting.
> we should relax these assertions, and just ensure that the searcher 
> *eventually* opens in a non-absurd amount of time, not fail if it isn't some 
> specific math function relative to other events.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to