Open
Conversation
Wasn't closing the jetty client. No need to explicitly create it; we can use the cache which is closed.
…mark's correctness / health
Wasn't consuming the stream.
dsmiley
commented
Mar 7, 2026
| @@ -132,13 +132,18 @@ public IntegerMaxCardinalitySolrGen(int maxCardinality, Gen<Integer> integers) { | |||
|
|
|||
| @Override | |||
| public Integer generate(SolrRandomnessSource in) { | |||
Contributor
Author
There was a problem hiding this comment.
can be called concurrently; needs to be thread-safe
| public static class BenchState { | ||
|
|
||
| @Param({CommonParams.JAVABIN, CommonParams.JSON, "cbor", "smile", "xml", "raw"}) | ||
| @Param({CommonParams.JAVABIN, CommonParams.JSON, "cbor", "smile", "xml"}) |
Contributor
Author
There was a problem hiding this comment.
"raw" is special; isn't working (NPE) in this scenario. Don't think it makes sense to benchmark it.
| throws SolrServerException, IOException { | ||
| return miniClusterState.client.request(benchState.q, collection); | ||
| NamedList<Object> response = miniClusterState.client.request(benchState.q, collection); | ||
| // consume the stream completely |
Contributor
Author
There was a problem hiding this comment.
this is necessary since otherwise the InputStreamResponseParser is left unconsumed and in fact it means the benchmark was mostly useless as nothing was transmitted since there was no consumer! wow
| logClusterDirectorySize(); | ||
|
|
||
| String orr = ObjectReleaseTracker.clearObjectTrackerAndCheckEmpty(); | ||
| if (orr != null) { |
Contributor
Author
There was a problem hiding this comment.
this helped track down 2 issues!
|
|
||
| <!-- for versioning --> | ||
| <field name="_version_" type="long" indexed="true" stored="true"/> | ||
| <field name="_version_" type="long" indexed="true" stored="true" docValues="true"/> |
Contributor
Author
There was a problem hiding this comment.
we need docValues on _version_. This ought to be a loud Solr error but it turned up here latently when a DBQ came in -- very weird.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Our benchmark has some misc problems that have crept in because we don't have validation of them. We have a test but we don't run the benchmarks themselves. I'll separately work on getting a suitable CI job.
The following can be run in solr/benchmark, which runs all benchmarks with very dialed down settings, nearly as much as possible. Still; it does some work like indexing that can take time.
I ran that when done and examined stdout and stderr. a CI job will have to check the output for "Exception" since JMH often exits with status 0 when there were definitely problems.
I also found it necessary to use Java 25, as Java 21 on my machine was failing (at least 2x in a row) on ExitableDirectoryReaderSearch.