<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>0</blockedDurationMillis><blockedTimeMillis>0</blockedTimeMillis><buildableDurationMillis>7</buildableDurationMillis><buildableTimeMillis>7</buildableTimeMillis><buildingDurationMillis>5350444</buildingDurationMillis><executingTimeMillis>5350444</executingTimeMillis><executorUtilization>1.0</executorUtilization><subTaskCount>0</subTaskCount><waitingDurationMillis>0</waitingDurationMillis><waitingTimeMillis>0</waitingTimeMillis></action><action></action><action _class='hudson.plugins.git.util.BuildData'><buildsByBranchName><refsremotesoriginmain _class='hudson.plugins.git.util.Build'><buildNumber>1034</buildNumber><marked><SHA1>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</SHA1><branch><SHA1>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</SHA1><name>refs/remotes/origin/main</name></branch></marked><revision><SHA1>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</SHA1><branch><SHA1>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</SHA1><name>refs/remotes/origin/main</name></branch></revision></refsremotesoriginmain></buildsByBranchName><lastBuiltRevision><SHA1>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</SHA1><branch><SHA1>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</SHA1><name>refs/remotes/origin/main</name></branch></lastBuiltRevision><remoteUrl>https://gitbox.apache.org/repos/asf/solr.git</remoteUrl><scmName></scmName></action><action></action><action _class='hudson.plugins.jira.JiraBuildAction'></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>5</failCount><skipCount>325</skipCount><totalCount>8206</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1034</displayName><duration>5350444</duration><estimatedDuration>6969031</estimatedDuration><fullDisplayName>Solr » Solr-Test-main-s390x #1034</fullDisplayName><id>1034</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1034</number><queueId>9274441</queueId><result>UNSTABLE</result><timestamp>1775253720036</timestamp><url>https://ci-builds.apache.org/job/Solr/job/Solr-Test-main-s390x/1034/</url><builtOn>jenkins-s390x-6</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/modules/extraction/gradle.lockfile</affectedPath><affectedPath>solr/webapp/gradle.lockfile</affectedPath><affectedPath>solr/solrj-zookeeper/gradle.lockfile</affectedPath><affectedPath>solr/modules/s3-repository/gradle.lockfile</affectedPath><affectedPath>gradle/libs.versions.toml</affectedPath><affectedPath>solr/solr-ref-guide/gradle.lockfile</affectedPath><affectedPath>solr/modules/opentelemetry/gradle.lockfile</affectedPath><affectedPath>solr/core/build.gradle</affectedPath><affectedPath>changelog/unreleased/SOLR-18082-introduce-jersey-bom.yml</affectedPath><affectedPath>solr/modules/language-models/gradle.lockfile</affectedPath><affectedPath>solr/solrj/gradle.lockfile</affectedPath><affectedPath>solr/modules/langid/gradle.lockfile</affectedPath><affectedPath>solr/modules/sql/gradle.lockfile</affectedPath><affectedPath>solr/core/gradle.lockfile</affectedPath><affectedPath>solr/solrj-streaming/gradle.lockfile</affectedPath><affectedPath>solr/modules/analysis-extras/gradle.lockfile</affectedPath><affectedPath>solr/modules/clustering/gradle.lockfile</affectedPath><affectedPath>solr/modules/cross-dc/gradle.lockfile</affectedPath><affectedPath>solr/benchmark/gradle.lockfile</affectedPath><affectedPath>solr/cross-dc-manager/gradle.lockfile</affectedPath><affectedPath>solr/modules/jwt-auth/gradle.lockfile</affectedPath><affectedPath>solr/licenses/jersey-container-jetty-http-3.1.11.jar.sha1</affectedPath><affectedPath>solr/solrj-jetty/gradle.lockfile</affectedPath><affectedPath>solr/test-framework/gradle.lockfile</affectedPath><affectedPath>solr/modules/cuvs/gradle.lockfile</affectedPath><affectedPath>solr/server/gradle.lockfile</affectedPath><affectedPath>solr/modules/gcs-repository/gradle.lockfile</affectedPath><affectedPath>solr/modules/ltr/gradle.lockfile</affectedPath><affectedPath>solr/api/gradle.lockfile</affectedPath><affectedPath>solr/licenses/jersey-container-jetty-http-2.39.1.jar.sha1</affectedPath><affectedPath>solr/modules/scripting/gradle.lockfile</affectedPath><commitId>b32ba6e1936fba920a098a2118e3b02ab3ffc197</commitId><timestamp>1774721216000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-18082: Add jersey BOM to align versions of all jersey dependencies (#4244)

Add jersey BOM to align versions of all jersey dependencies. This also upgrades org.glassfish.jersey.containers:jersey-container-jetty-http from 2.39.1 to 3.1.11
</comment><date>2026-03-28 20:06:56 +0200</date><id>b32ba6e1936fba920a098a2118e3b02ab3ffc197</id><msg>SOLR-18082: Add jersey BOM to align versions of all jersey dependencies (#4244)</msg><path><editType>edit</editType><file>solr/modules/clustering/gradle.lockfile</file></path><path><editType>delete</editType><file>solr/licenses/jersey-container-jetty-http-2.39.1.jar.sha1</file></path><path><editType>edit</editType><file>solr/modules/ltr/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/jwt-auth/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/opentelemetry/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/solrj/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/solrj-streaming/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/scripting/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/core/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/langid/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/cross-dc/gradle.lockfile</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-18082-introduce-jersey-bom.yml</file></path><path><editType>edit</editType><file>solr/api/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/gcs-repository/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/language-models/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/server/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/webapp/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/s3-repository/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/solrj-zookeeper/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/extraction/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/sql/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/modules/analysis-extras/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/solrj-jetty/gradle.lockfile</file></path><path><editType>add</editType><file>solr/licenses/jersey-container-jetty-http-3.1.11.jar.sha1</file></path><path><editType>edit</editType><file>solr/core/build.gradle</file></path><path><editType>edit</editType><file>solr/benchmark/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/cross-dc-manager/gradle.lockfile</file></path><path><editType>edit</editType><file>gradle/libs.versions.toml</file></path><path><editType>edit</editType><file>solr/modules/cuvs/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/solr-ref-guide/gradle.lockfile</file></path><path><editType>edit</editType><file>solr/test-framework/gradle.lockfile</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/core/src/java/org/apache/solr/metrics/SolrMetricsContext.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/update/MaxSizeAutoCommitTest.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/core/CoreContainer.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/blockcache/Metrics.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/metrics/SolrMetricProducer.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/TestSolrCachePerf.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/cloud/Overseer.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/TestCaffeineCache.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/ThinCache.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/metrics/SolrCoreMetricManager.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/handler/admin/InfoHandlerTest.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/update/UpdateLog.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/core/ZkContainer.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/security/PKIAuthenticationPlugin.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/update/SolrIndexWriter.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/security/MockAuthenticationPlugin.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/util/stats/OtelInstrumentedExecutorService.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/search/stats/StatsCache.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/update/UpdateHandler.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/blockcache/BufferStoreTest.java</affectedPath><affectedPath>solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/TestSolrFieldCacheBean.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/search/SolrFieldCacheBean.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/util/stats/OtelInstrumentedExecutorServiceTest.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/SolrInfoBeanTest.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/metrics/otel/instruments/AttributedInstrumentFactory.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/SchemaHandler.java</affectedPath><affectedPath>changelog/unreleased/SOLR-17857-trackSolrMetricsContext.yml</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/core/PluginBag.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/TestThinCache.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/security/CertAuthPluginTest.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/security/BasicAuthPlugin.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/core/SolrCore.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/common/util/ObjectReleaseTracker.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/search/CaffeineCache.java</affectedPath><commitId>4f17248195601f8eeca1651f77de46572d851cdb</commitId><timestamp>1774731508000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-17857: SolrMetricsContext is now reliably closed (#4226)

SolrMetricsContext is now AutoCloseable; renamed unregister() to close().
Ensure it is closed exactly once, fixing double-close of OTEL metrics
that yielded warnings.  Uses ObjectReleaseTracker.

Key changes:
- PluginBag tracks all plugins (V1, V2, and defaults) in allPlugins,
  ensuring proper cleanup during replacement and shutdown.
- RequestHandlerBase asserts that initializeMetrics() is called before
  handling requests, preventing memory leaks from untracked contexts.
- InfoHandler and SchemaHandler initialize metrics on dynamically-created
  sub-handlers, registering them for cleanup.
- SolrFieldCacheBean: fix recursive close; removed from core metrics.
- HighlightComponent: fix unclosed context due to improper
  default/aliasing in SolrCore.loadSearchComponents.
- CoreContainer.shutdown: shut down coreZkRegister executor early so
  in-progress async reloads (triggered by ZK config watchers) complete
  before cores are closed.
- ObjectReleaseTracker: add a way to inspect contents.  Sadly one test
  needs to ignore certain unclosed contexts: MissingSegmentRecoveryTest


Co-authored-by: Houston Putman &lt;houston@apache.org&gt;
Co-authored-by: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</comment><date>2026-03-28 16:58:28 -0400</date><id>4f17248195601f8eeca1651f77de46572d851cdb</id><msg>SOLR-17857: SolrMetricsContext is now reliably closed (#4226)</msg><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/update/UpdateLog.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/admin/InfoHandler.java</file></path><path><editType>edit</editType><file>solr/modules/jwt-auth/src/java/org/apache/solr/security/jwt/JWTAuthPlugin.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/update/SolrIndexWriter.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/search/SolrFieldCacheBean.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/security/MockAuthenticationPlugin.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/metrics/otel/instruments/AttributedInstrumentFactory.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/search/SolrIndexSearcher.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/update/MaxSizeAutoCommitTest.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/metrics/SolrMetricProducer.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/common/util/ObjectReleaseTracker.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/util/stats/OtelInstrumentedExecutorServiceTest.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/SolrInfoBeanTest.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/SchemaHandler.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/security/CertAuthPluginTest.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/blockcache/Metrics.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/metrics/SolrCoreMetricManager.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/security/BasicAuthPlugin.java</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-17857-trackSolrMetricsContext.yml</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/update/UpdateHandler.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/MissingSegmentRecoveryTest.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/search/CaffeineCache.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/TestThinCache.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/RequestHandlerBase.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/core/ZkContainer.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/blockcache/BufferStoreTest.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/core/PluginBag.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/TestSolrCachePerf.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/update/DirectUpdateHandler2.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/core/SolrCore.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/util/stats/OtelInstrumentedExecutorService.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/security/PKIAuthenticationPlugin.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/core/CoreContainer.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/security/MultiAuthPlugin.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/ThinCache.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/component/SearchHandler.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/cloud/Overseer.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/BasicFunctionalityTest.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/TestSolrFieldCacheBean.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/TestCaffeineCache.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/TestAuthenticationFramework.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/admin/CoreAdminHandler.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/metrics/SolrMetricsContext.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/handler/admin/InfoHandlerTest.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/search/stats/StatsCache.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java</affectedPath><affectedPath>solr/solr-ref-guide/modules/indexing-guide/examples/IndexingNestedDocuments.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/join/TestCloudNestedDocsSort.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/update/DeleteByIdWithRouterFieldTest.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/facet/RangeFacetCloudTest.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/cloud/RecoveryZkTestWithAuth.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKGEquiv.java</affectedPath><affectedPath>solr/benchmark/src/java/org/apache/solr/bench/SolrBenchState.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/cloud/RecoveryStrategyStressTest.java</affectedPath><affectedPath>solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java</affectedPath><affectedPath>solr/test-framework/src/java/org/apache/solr/SolrBackend.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKG.java</affectedPath><affectedPath>changelog/unreleased/SOLR-18150-SolrBackend.yml</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/servlet/TestRequestRateLimiter.java</affectedPath><affectedPath>solr/test-framework/src/java/org/apache/solr/cloud/RemoteSolrBackend.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java</affectedPath><affectedPath>solr/test-framework/src/java/org/apache/solr/embedded/EmbeddedSolrBackend.java</affectedPath><commitId>af21fef102425e2c1b8240634f4eec13eae1e627</commitId><timestamp>1774797793000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-18150: Add SolrBackend abstraction for test/benchmark deployments (#4214)

SOLR-18150: Add SolrBackend abstraction for test/benchmark deployments

Created SolrBackend interface to abstract over different Solr deployment
types (embedded, remote, Jetty, MiniSolrCloudCluster) with a unified API
for collection/configSet management, diagnostics, and node URL access.
JettySolrRunner now manages a HttpJettySolrClient instance, get via getSolrClient.

This PR only introduces the abstraction; follow-on PRs will add callers
in benchmarks and tests.

Co-authored-by: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</comment><date>2026-03-29 11:23:13 -0400</date><id>af21fef102425e2c1b8240634f4eec13eae1e627</id><msg>SOLR-18150: Add SolrBackend abstraction for test/benchmark deployments (#4214)</msg><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/RecoveryStrategyStressTest.java</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-18150-SolrBackend.yml</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKG.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/update/DeleteByIdWithRouterFieldTest.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/servlet/TestRequestRateLimiter.java</file></path><path><editType>edit</editType><file>solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKGEquiv.java</file></path><path><editType>edit</editType><file>solr/benchmark/src/java/org/apache/solr/bench/SolrBenchState.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/facet/RangeFacetCloudTest.java</file></path><path><editType>edit</editType><file>solr/test-framework/src/java/org/apache/solr/cloud/MiniSolrCloudCluster.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/RecoveryZkTest.java</file></path><path><editType>add</editType><file>solr/test-framework/src/java/org/apache/solr/cloud/RemoteSolrBackend.java</file></path><path><editType>add</editType><file>solr/test-framework/src/java/org/apache/solr/embedded/EmbeddedSolrBackend.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/RecoveryZkTestWithAuth.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java</file></path><path><editType>edit</editType><file>solr/solr-ref-guide/modules/indexing-guide/examples/IndexingNestedDocuments.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/search/join/TestCloudNestedDocsSort.java</file></path><path><editType>add</editType><file>solr/test-framework/src/java/org/apache/solr/SolrBackend.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaIntegrationTest.java</affectedPath><commitId>f7ad4f1019891bc0eeed346dab1b3770f301e163</commitId><timestamp>1774813297000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/dsmiley</absoluteUrl><fullName>David Smiley</fullName></author><authorEmail>dsmiley@apache.org</authorEmail><comment>SOLR-18077: ignore flaky test
</comment><date>2026-03-29 15:41:37 -0400</date><id>f7ad4f1019891bc0eeed346dab1b3770f301e163</id><msg>SOLR-18077: ignore flaky test</msg><path><editType>edit</editType><file>solr/cross-dc-manager/src/test/org/apache/solr/crossdc/manager/SolrAndKafkaIntegrationTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSet.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrIdentifierValidator.java</affectedPath><affectedPath>changelog/unreleased/SOLR-18170-add-validation-for-configset-names.yml</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/handler/configsets/CloneConfigSet.java</affectedPath><commitId>24b57651362283db3d8c7b6ac902b90f2dcc37d2</commitId><timestamp>1774957694000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-18170: add validation for configset names (#4248)
</comment><date>2026-03-31 07:48:14 -0400</date><id>24b57651362283db3d8c7b6ac902b90f2dcc37d2</id><msg>SOLR-18170: add validation for configset names (#4248)</msg><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/configsets/UploadConfigSet.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPI.java</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-18170-add-validation-for-configset-names.yml</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/util/SolrIdentifierValidator.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/handler/configsets/CloneConfigSet.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/core/src/java/org/apache/solr/schema/numericrange/FloatRangeField.java</affectedPath><affectedPath>solr/core/src/test-files/solr/collection1/conf/schema-numericrange.xml</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/search/numericrange/NumericRangeQParserPlugin.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/schema/numericrange/DoubleRangeField.java</affectedPath><affectedPath>solr/solr-ref-guide/modules/query-guide/pages/other-parsers.adoc</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/search/numericrange/NumericRangeQParserPluginDoubleTest.java</affectedPath><affectedPath>changelog/unreleased/SOLR-13309-doubleRangeField.yml</affectedPath><affectedPath>solr/solr-ref-guide/modules/indexing-guide/pages/field-types-included-with-solr.adoc</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/schema/numericrange/DoubleRangeFieldTest.java</affectedPath><commitId>4f2b4e2dd137e333cf61170b91cf8dcd9f9cfdf9</commitId><timestamp>1774959047000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-13309: Add DoubleRangeField exposing Lucene 'DoubleRange' (#4239)

Completes our exposure of Lucene's "range" field types.
</comment><date>2026-03-31 08:10:47 -0400</date><id>4f2b4e2dd137e333cf61170b91cf8dcd9f9cfdf9</id><msg>SOLR-13309: Add DoubleRangeField exposing Lucene 'DoubleRange' (#4239)</msg><path><editType>add</editType><file>solr/core/src/java/org/apache/solr/schema/numericrange/DoubleRangeField.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/schema/numericrange/FloatRangeField.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/search/numericrange/NumericRangeQParserPlugin.java</file></path><path><editType>edit</editType><file>solr/solr-ref-guide/modules/query-guide/pages/other-parsers.adoc</file></path><path><editType>edit</editType><file>solr/solr-ref-guide/modules/indexing-guide/pages/field-types-included-with-solr.adoc</file></path><path><editType>edit</editType><file>solr/core/src/test-files/solr/collection1/conf/schema-numericrange.xml</file></path><path><editType>add</editType><file>solr/core/src/test/org/apache/solr/schema/numericrange/DoubleRangeFieldTest.java</file></path><path><editType>add</editType><file>solr/core/src/test/org/apache/solr/search/numericrange/NumericRangeQParserPluginDoubleTest.java</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-13309-doubleRangeField.yml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java</affectedPath><commitId>12799ff9a7964270ffc116699c7d8ba45f8e3c4f</commitId><timestamp>1775048429000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>minor: EmbeddedSolrServer.getDefaultCollection (#4252)

now returns the default core
</comment><date>2026-04-01 09:00:29 -0400</date><id>12799ff9a7964270ffc116699c7d8ba45f8e3c4f</id><msg>minor: EmbeddedSolrServer.getDefaultCollection (#4252)</msg><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/core/src/test/org/apache/solr/handler/admin/HealthCheckHandlerTest.java</affectedPath><commitId>2dcc1320504e7ae597c78c529e0af7a291c0f8dd</commitId><timestamp>1775049246000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-16458: Fix flaky test HealthCheckHandlerTest due to SSL (#4247)

Switching from Apache HttpClient to Jetty HttpClient -- the latter is already configured in our test infra for SSL.
</comment><date>2026-04-01 09:14:06 -0400</date><id>2dcc1320504e7ae597c78c529e0af7a291c0f8dd</id><msg>SOLR-16458: Fix flaky test HealthCheckHandlerTest due to SSL (#4247)</msg><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/handler/admin/HealthCheckHandlerTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc</affectedPath><affectedPath>solr/solr-ref-guide/modules/query-guide/querying-nav.adoc</affectedPath><commitId>03debda7c66b8250ba147831f8c05cc9b70849b1</commitId><timestamp>1775058684000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>Add reference to tect-to-vector module inside Dense Vector search (#4251)
</comment><date>2026-04-01 11:51:24 -0400</date><id>03debda7c66b8250ba147831f8c05cc9b70849b1</id><msg>Add reference to tect-to-vector module inside Dense Vector search (#4251)</msg><path><editType>edit</editType><file>solr/solr-ref-guide/modules/query-guide/querying-nav.adoc</file></path><path><editType>edit</editType><file>solr/solr-ref-guide/modules/query-guide/pages/dense-vector-search.adoc</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/core/src/test/org/apache/solr/cloud/api/collections/ConcurrentDeleteAndCreateCollectionTest.java</affectedPath><commitId>8d56a497372a40e719b50880d9b12b0484b1ea3f</commitId><timestamp>1775107930000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-18112: ConcurrentDeleteAndCreateCollectionTest (#4255)

Check code 404 instead of checking an error String. And improve error propagation.
</comment><date>2026-04-02 01:32:10 -0400</date><id>8d56a497372a40e719b50880d9b12b0484b1ea3f</id><msg>SOLR-18112: ConcurrentDeleteAndCreateCollectionTest (#4255)</msg><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/api/collections/ConcurrentDeleteAndCreateCollectionTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/packaging/test/test_adminconsole_urls.bats</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/servlet/PathExclusionFilter.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/servlet/LoadAdminUiServletTest.java</affectedPath><affectedPath>AGENTS.md</affectedPath><affectedPath>solr/webapp/web/WEB-INF/web.xml</affectedPath><affectedPath>solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java</affectedPath><affectedPath>solr/packaging/build.gradle</affectedPath><affectedPath>changelog/unreleased/SOLR-18041.yml</affectedPath><affectedPath>solr/solrj/build.gradle</affectedPath><commitId>00e0870c4d50a6020f1a9039722b376741e569b8</commitId><timestamp>1775163635000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-18168: Remove PathExclusionFilter; serve static content via ResourceServlet (#4243)

Instead of using a bespoke PathExclusionFilter to short-circuit Solr's filter chain
for Admin UI static resources (/css/*, /js/*, /img/*, /partials/*, etc.), web.xml now
maps those paths directly to Jetty's built-in ResourceServlet. Solr's filters are
remapped from url-pattern="/*" to servlet-name="SolrServlet", so they naturally apply
only to Solr requests and bypass static resources without bespoke code.

BATS integration tests were added to replace ones that had used JettySolrRunner previously.

Co-authored-by: copilot-swe-agent[bot] &lt;198982749+Copilot@users.noreply.github.com&gt;
Co-authored-by: dsmiley &lt;377295+dsmiley@users.noreply.github.com&gt;
</comment><date>2026-04-02 17:00:35 -0400</date><id>00e0870c4d50a6020f1a9039722b376741e569b8</id><msg>SOLR-18168: Remove PathExclusionFilter; serve static content via ResourceServlet (#4243)</msg><path><editType>edit</editType><file>solr/packaging/build.gradle</file></path><path><editType>edit</editType><file>solr/solrj/build.gradle</file></path><path><editType>delete</editType><file>solr/core/src/test/org/apache/solr/servlet/LoadAdminUiServletTest.java</file></path><path><editType>delete</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/embedded/JettyWebappTest.java</file></path><path><editType>delete</editType><file>solr/core/src/java/org/apache/solr/servlet/PathExclusionFilter.java</file></path><path><editType>edit</editType><file>solr/webapp/web/WEB-INF/web.xml</file></path><path><editType>edit</editType><file>changelog/unreleased/SOLR-18041.yml</file></path><path><editType>edit</editType><file>solr/packaging/test/test_adminconsole_urls.bats</file></path><path><editType>edit</editType><file>AGENTS.md</file></path><path><editType>edit</editType><file>solr/test-framework/src/java/org/apache/solr/embedded/JettySolrRunner.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>gradle/maven/defaults-maven.gradle</affectedPath><affectedPath>changelog/unreleased/SOLR-18185-pomPublishVersions.yml</affectedPath><commitId>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</commitId><timestamp>1775163883000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></author><authorEmail>noreply@github.com</authorEmail><comment>SOLR-18185: POMs: publish resolved version (#4256)

Co-authored-by: Copilot &lt;175728472+Copilot@users.noreply.github.com&gt;
</comment><date>2026-04-02 17:04:43 -0400</date><id>db8a6d3451abb97d47f4c24cdb88fd60f53e20c7</id><msg>SOLR-18185: POMs: publish resolved version (#4256)</msg><path><editType>edit</editType><file>gradle/maven/defaults-maven.gradle</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-18185-pomPublishVersions.yml</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://ci-builds.apache.org/user/dsmiley</absoluteUrl><fullName>David Smiley</fullName></culprit><culprit><absoluteUrl>https://ci-builds.apache.org/user/github</absoluteUrl><fullName>github</fullName></culprit></freeStyleBuild>