You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2017/10/09 22:56:00 UTC
[jira] [Updated] (SOLR-11455) change SoftAutoCommitTest to check
when events *start* -- not when they finish
[ https://issues.apache.org/jira/browse/SOLR-11455?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hoss Man updated SOLR-11455:
----------------------------
Attachment: SoftAutoCommitTest.jenkins.1398.txt
some of the comments in SOLR-11454 are an example of where tracking the (newSearcher) event finish results in a failure but tracking the even start would show it happened very quickly.
The attached jenkins log (SoftAutoCommitTest.jenkins.1398.txt) is another example...
https://builds.apache.org/job/Lucene-Solr-NightlyTests-master/1398/
{noformat}
Error Message:
softCommit: did not find a single commit
Stack Trace:
java.lang.AssertionError: softCommit: did not find a single commit
at __randomizedtesting.SeedInfo.seed([CCAC87827208491B:90B929BB998A0863]:0)
at org.junit.Assert.fail(Assert.java:93)
at org.junit.Assert.assertTrue(Assert.java:43)
at org.junit.Assert.assertNotNull(Assert.java:526)
at org.apache.solr.update.SoftAutoCommitTest.assertRapidMultiCommitQueues(SoftAutoCommitTest.java:475)
at org.apache.solr.update.SoftAutoCommitTest.testSoftAndHardCommitMaxTimeRapidAdds(SoftAutoCommitTest.java:440)
{noformat}
After some rapid fire adds, the test does a loop looking for an expected# of commits based on the relative pre/post timestamp of the adds (ie: at least 1 softCommit, maybemore more if the total time to add the docs exceeded the autoCommitTime) .. but in this vase it fails because it didn't dedect a softCommit _finish_ in the expected wait time.
But according to the logs, the autoSoftCommit _started_ exactly when expected (508ms after the first doc was added, or 8ms after the autoSoftCommitMillis=500 said it should) ...
{noformat}
[junit4] 2> 2487332 INFO (TEST-SoftAutoCommitTest.testSoftAndHardCommitMaxTimeRapidAdds-seed#[CCAC87827208491B]) [ ] o.a.s.u.p.LogUpdateProcessorFactory [collection1] webapp=null path=null params={}{add=[5000 (1580608950822240256)]} 0 28
...
[junit4] 2> 2487840 INFO (commitScheduler-2095-thread-1) [ ] o.a.s.u.DirectUpdateHandler2 start commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=true,prepareCommit=false}
{noformat}
...it just didn't _finish_ as quickly as the monitor polling expected it to.
> change SoftAutoCommitTest to check when events *start* -- not when they finish
> ------------------------------------------------------------------------------
>
> Key: SOLR-11455
> URL: https://issues.apache.org/jira/browse/SOLR-11455
> Project: Solr
> Issue Type: Sub-task
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Hoss Man
> Attachments: SoftAutoCommitTest.jenkins.1398.txt
>
>
> AFAICT, most "slow machine" related (jenkins) failures in SoftAutoCommitTest seem to be exacerbated by the fact that the SolrEventListener model fires an effent when the action (softCommit, hardCommit, newSearcher) *finishes* successfully -- w/o paying any attention to when it *starts*.
> We should consider taking a more white/grey box approach to checking both the start & finish of these events -- and moving our autoCommit timing expectations to the "start" of the commits, with much more relaxed (ie: many seconds) checks that the event finished successfully.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org