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

Mark Miller commented on SOLR-13796:
------------------------------------

Here is a sample of the knobs we have currently, I'm sure there are others - we 
want to get tight control of these so we can have fast, consistent runs and 
runs not meant to be developer interactive (Nightly).
{noformat}
System.setProperty("solr.tests.IntegerFieldType", "solr.IntPointField");
System.setProperty("solr.tests.FloatFieldType", "solr.FloatPointField");
System.setProperty("solr.tests.LongFieldType", "solr.LongPointField");
System.setProperty("solr.tests.DoubleFieldType", "solr.DoublePointField");
System.setProperty("solr.tests.DateFieldType", "solr.DatePointField");
System.setProperty("solr.tests.EnumFieldType", "solr.EnumFieldType");
System.setProperty("solr.tests.numeric.dv", "true");
System.setProperty("solr.tests.numeric.points", "true");
System.setProperty("solr.tests.numeric.points.dv", "true");
System.setProperty("solr.iterativeMergeExecIdleTime", "1000");
System.setProperty("zookeeper.forceSync", "false");
System.setProperty("solr.zkclienttimeout", "90000"); 
System.setProperty("solr.httpclient.retries", "1");
System.setProperty("solr.retries.on.forward", "1");
System.setProperty("solr.retries.to.followers", "1");
System.setProperty("solr.v2RealPath", "true");
System.setProperty("zookeeper.forceSync", "no");
System.setProperty("jetty.testMode", "true");
System.setProperty("enable.update.log", usually() ? "true" : "false");
System.setProperty("tests.shardhandler.randomSeed", 
Long.toString(random().nextLong()));
System.setProperty("solr.clustering.enabled", "false");
System.setProperty("solr.peerSync.useRangeVersions", 
String.valueOf(random().nextBoolean()));
System.setProperty("solr.cloud.wait-for-updates-with-stale-state-pause", "500");
System.setProperty(ZK_WHITELIST_PROPERTY, "*");
DirectUpdateHandler2.commitOnClose = false; // other tests turn this off and 
try to reset it - we use sys prop below to override
System.setProperty("tests.disableHdfs", "true");
System.setProperty("solr.maxContainerThreads", "20");
System.setProperty("solr.lowContainerThreadsThreshold", "-1");
System.setProperty("solr.minContainerThreads", "0");
System.setProperty("solr.containerThreadsIdle", "30000");
System.setProperty("evictIdleConnections", "20000");
System.setProperty("solr.commitOnClose", "false"); // can make things quite slow
System.setProperty("solr.codec", "solr.SchemaCodecFactory");
System.setProperty("tests.COMPRESSION_MODE", "BEST_COMPRESSION");
System.setProperty("tests.skipSetupCodec", "true");
System.setProperty("solr.lock.type", "single");
System.setProperty("solr.tests.lockType", "single");
System.setProperty("solr.tests.mergePolicyFactory", 
"org.apache.solr.index.NoMergePolicyFactory");
System.setProperty("solr.tests.mergeScheduler", 
"org.apache.lucene.index.ConcurrentMergeScheduler");
System.setProperty("solr.mscheduler", 
"org.apache.lucene.index.ConcurrentMergeScheduler");
System.setProperty("bucketVersionLockTimeoutMs", "8000");
System.setProperty("socketTimeout", "30000");
System.setProperty("connTimeout", "10000");
System.setProperty("solr.cloud.wait-for-updates-with-stale-state-pause", "0");
System.setProperty("solr.cloud.starting-recovery-delay-milli-seconds", "0");
System.setProperty("lucene.cms.override_core_count", "2");
System.setProperty("lucene.cms.override_spins", "false");
System.setProperty("solr.tests.maxBufferedDocs", "1000000");
System.setProperty("solr.tests.ramBufferSizeMB", "20");
System.setProperty("solr.tests.ramPerThreadHardLimitMB", "4");
System.setProperty("managed.schema.mutable", "false");
System.setProperty("solr.disableJvmMetrics", "true");
System.setProperty("useCompoundFile", "false");
System.setProperty("prepRecoveryReadTimeoutExtraWait", "2000");
System.setProperty("evictIdleConnections", "30000");
System.setProperty("validateAfterInactivity", "-1");
System.setProperty("leaderVoteWait", "1000");
System.setProperty("leaderConflictResolveWait", "1000");
System.setProperty("solr.recovery.recoveryThrottle", "1000");
System.setProperty("solr.recovery.leaderThrottle", "500");
System.setProperty("solr.cloud.wait-for-updates-with-stale-state-pause", "0");
System.setProperty("solr.httpclient.retries", "1");
System.setProperty("solr.retries.on.forward", "1");
System.setProperty("solr.retries.to.followers", "1"); 
useFactory("solr.RAMDirectoryFactory");
{noformat}

> Fix Solr Test Performance
> -------------------------
>
>                 Key: SOLR-13796
>                 URL: https://issues.apache.org/jira/browse/SOLR-13796
>             Project: Solr
>          Issue Type: Bug
>      Security Level: Public(Default Security Level. Issues are Public) 
>            Reporter: Mark Miller
>            Assignee: Mark Miller
>            Priority: Major
>
> I had kind of forgotten, but while working on Starburst I had realized that 
> almost all of our tests are capable of being very fast and logging 10x less 
> as a result. When they get this fast, a lot of infrequent random fails become 
> frequent and things become much easier to debug. I had fixed a lot of issue 
> to make tests pretty damn fast in the starburst branch, but tons of tests 
> where still ignored due to the scope of changes going on.
> A variety of things have converged that have allowed me to absorb most of 
> that work and build up on it while also almost finishing it.
> This will be another huge PR aimed at addressing issues that have our tests 
> often take dozens of seconds to minutes when they should take mere seconds or 
> 10.
> As part of this issue, I would like to move the focus of non nightly tests 
> towards being more minimal, consistent and fast.
> In exchanged, we must put more effort and care in nightly tests. Not 
> something that happens now, but if we have solid, fast, consistent non 
> Nightly tests, that should open up some room for Nightly to get some status 
> boost.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to