[ 
https://issues.apache.org/jira/browse/SOLR-18150?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SOLR-18150:
----------------------------------
    Labels: pull-request-available  (was: )

> Introduce SolrBackend abstraction for tests & benchmarks
> --------------------------------------------------------
>
>                 Key: SOLR-18150
>                 URL: https://issues.apache.org/jira/browse/SOLR-18150
>             Project: Solr
>          Issue Type: Test
>          Components: test-framework
>            Reporter: David Smiley
>            Assignee: David Smiley
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> I propose a basic abstraction for tests & benchmarks to interface with some 
> kind of running Solr:  EmbeddedSolrServer, JettySolrRunner, 
> MiniSolrCloudCluster, a remote (SolrJ Http) Solr, and perhaps a variant of 
> that coupled to a Docker container.  Unlike SolrClientTestRule, it shouldn't 
> be tied to JUnit.  Having seen many tests, and solr/benchmark, the principle 
> things needed are:
> * create a "collection" (or "core" if not in SolrCloud, but using the same 
> API).  Must specify the configSet and a map of any name-value properties that 
> will be used for substitution when reading the configs.  The neutrality on 
> collection vs core is a key aspect of the whole abstraction.
> * indicate if a collection exists already -- esp. for benchmarks to reuse a 
> collection
> * create/upload a configSet given a path to one.  Obviously done before 
> creating a collection.  Reminder: configSets can be used in both Solr modes
> * indicate if a configSet exists already -- esp. for benchmarks to reuse a 
> configSet
> * reload a collection
> * provide a SolrClient for doing the work of the benchmark/test scoped to a 
> collection.  Needs a means of customization (e.g. http1)
> * provide a SolrClient for doing administrative tasks -- tasks *not* in scope 
> of the benchmark/test but nonetheless needed to set things up
> * and more can be added of course
> The SolrBenchmark wouldn't generally be used directly by a benchmark/test, 
> but it'd be one layer away.  Thus I propose SolrClientTestRule delegate/use a 
> SolrBenchmark, and similarly SolrBenchState would likewise.  Both those 
> things can tend to some unique benchmark/test matters.  By being a new 
> abstraction that isn't tied to JUnit, it should be easy to add support for 
> new/different test frameworks.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to