<freeStyleBuild _class='hudson.model.FreeStyleBuild'><action _class='hudson.model.CauseAction'><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause><cause _class='hudson.triggers.TimerTrigger$TimerTriggerCause'><shortDescription>Started by timer</shortDescription></cause></action><action _class='jenkins.metrics.impl.TimeInQueueAction'><blockedDurationMillis>1353543</blockedDurationMillis><blockedTimeMillis>1353543</blockedTimeMillis><buildableDurationMillis>7204648</buildableDurationMillis><buildableTimeMillis>7204648</buildableTimeMillis><buildingDurationMillis>2356818</buildingDurationMillis><executingTimeMillis>2356818</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><refsremotesoriginbranch_10x _class='hudson.plugins.git.util.Build'><buildNumber>2512</buildNumber><marked><SHA1>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</SHA1><branch><SHA1>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</SHA1><name>refs/remotes/origin/branch_10x</name></branch></marked><revision><SHA1>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</SHA1><branch><SHA1>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</SHA1><name>refs/remotes/origin/branch_10x</name></branch></revision></refsremotesoriginbranch_10x></buildsByBranchName><lastBuiltRevision><SHA1>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</SHA1><branch><SHA1>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</SHA1><name>refs/remotes/origin/branch_10x</name></branch></lastBuiltRevision><remoteUrl>https://gitbox.apache.org/repos/asf/solr.git</remoteUrl><scmName></scmName></action><action></action><action></action><action _class='hudson.plugins.jira.JiraBuildAction'></action><action _class='hudson.tasks.junit.TestResultAction'><failCount>0</failCount><skipCount>426</skipCount><totalCount>8770</totalCount><urlName>testReport</urlName></action><action></action><action></action><action></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#2512</displayName><duration>2356818</duration><estimatedDuration>2343344</estimatedDuration><fullDisplayName>Solr » Solr-Test-10.x #2512</fullDisplayName><id>2512</id><inProgress>false</inProgress><keepLog>false</keepLog><number>2512</number><queueId>33421467</queueId><result>SUCCESS</result><timestamp>1789674098848</timestamp><url>https://ci-builds.apache.org/job/Solr/job/Solr-Test-10.x/2512/</url><builtOn>lucene-solr-4</builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/json/CanonicalJsonResponseParser.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/ResponseParser.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/ResponseParserCanonicalResponseTest.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/ResponseCanonicalizerTest.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/LukeResponse.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java</affectedPath><affectedPath>changelog/unreleased/SOLR-17316-response-parsers.yml</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerResponseParser.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/AnalysisResponseBase.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseSectionParityTest.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/AdminResponseNumericTypeTest.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/schema/SchemaResponse.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/ResponseCanonicalizer.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleJsonTest.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseJsonParserIntegrationTest.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/SolrResponseBaseTest.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/cli/ApiTool.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/SolrResponseBase.java</affectedPath><commitId>af6f4a5697804029bafeaa561ad5e79f98c547ed</commitId><timestamp>1789665429000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/dsmiley</absoluteUrl><fullName>David Smiley</fullName></author><authorEmail>dsmiley@apache.org</authorEmail><comment>SOLR-17316: New SolrJ CanonicalJsonResponseParser for use with QueryResponse and others (#4640)

SolrJ's QueryResponse and other response objects can now read a JSON response via the new CanonicalJsonResponseParser.

Co-authored-by: David Smiley &lt;dsmiley@apache.org&gt;
(cherry picked from commit 6de34ce6cd60c4d92d937ce8c9f6732a814bfe64)
</comment><date>2026-09-17 13:17:09 -0400</date><id>af6f4a5697804029bafeaa561ad5e79f98c547ed</id><msg>SOLR-17316: New SolrJ CanonicalJsonResponseParser for use with QueryResponse and others (#4640)</msg><path><editType>edit</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleTests.java</file></path><path><editType>add</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/ResponseParserCanonicalResponseTest.java</file></path><path><editType>add</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseJsonParserIntegrationTest.java</file></path><path><editType>add</editType><file>solr/core/src/test/org/apache/solr/client/solrj/embedded/TestEmbeddedSolrServerResponseParser.java</file></path><path><editType>add</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/json/CanonicalJsonResponseParser.java</file></path><path><editType>add</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/AdminResponseNumericTypeTest.java</file></path><path><editType>edit</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/TestSuggesterResponse.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/AnalysisResponseBase.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/LukeResponse.java</file></path><path><editType>add</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/SolrResponseBaseTest.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/SolrResponseBase.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java</file></path><path><editType>add</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/ResponseCanonicalizer.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/ResponseParser.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/schema/SchemaResponse.java</file></path><path><editType>add</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/SolrExampleJsonTest.java</file></path><path><editType>add</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseSectionParityTest.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/cli/ApiTool.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java</file></path><path><editType>add</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/ResponseCanonicalizerTest.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-17316-response-parsers.yml</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java</affectedPath><affectedPath>changelog/unreleased/SOLR-18298-zk-reconnect-session-expiry.yml</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/cloud/ZkController.java</affectedPath><affectedPath>solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java</affectedPath><affectedPath>solr/solrj-zookeeper/src/test/org/apache/solr/common/cloud/TestOnReconnectSessionExpiry.java</affectedPath><commitId>d1132fca39e83a7835efd1c2948742a37625e19c</commitId><timestamp>1789665519000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/dsmiley</absoluteUrl><fullName>David Smiley</fullName></author><authorEmail>dsmiley@apache.org</authorEmail><comment>SOLR-18298: only recover after ZooKeeper session expiry (#4774)

The migration to curator incidentally resulted in Solr's onReconnect triggering on reconnect. Funnily enough, that's not the desired behavior at this point. Solr's OnReconnect was designed to be triggered only when there is a reconnect *after* zk session expiration (so it is not literally "on reconnect"). This fix is the minimal way of reverting to the old behavior while keeping the naming.

Co-authored-by: Shrey Narayan &lt;employeenextbrick@gmail.com&gt;
Co-authored-by: Cursor &lt;cursoragent@cursor.com&gt;
Co-authored-by: rayshrey &lt;121871912+rayshrey@users.noreply.github.com&gt;
(cherry picked from commit 98a61bf53f16c0ea27225e31415f56d027076179)
</comment><date>2026-09-17 13:18:39 -0400</date><id>d1132fca39e83a7835efd1c2948742a37625e19c</id><msg>SOLR-18298: only recover after ZooKeeper session expiry (#4774)</msg><path><editType>add</editType><file>solr/solrj-zookeeper/src/test/org/apache/solr/common/cloud/TestOnReconnectSessionExpiry.java</file></path><path><editType>edit</editType><file>solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-18298-zk-reconnect-session-expiry.yml</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/cloud/ZkController.java</file></path><path><editType>edit</editType><file>solr/core/src/test/org/apache/solr/cloud/ZkControllerTest.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/InputStreamResponseParser.java</affectedPath><affectedPath>changelog/unreleased/SOLR-17316-input-stream-status-check.yml</affectedPath><affectedPath>solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/JSONTupleStream.java</affectedPath><affectedPath>solr/solrj/src/test/org/apache/solr/client/solrj/response/InputStreamResponseParserTest.java</affectedPath><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/cli/ApiTool.java</affectedPath><affectedPath>solr/solrj-zookeeper/src/java/org/apache/solr/client/solrj/impl/NodeValueFetcher.java</affectedPath><affectedPath>solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java</affectedPath><commitId>5777608633038cc57693fa8622260ef54416b687</commitId><timestamp>1789665932000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/dsmiley</absoluteUrl><fullName>David Smiley</fullName></author><authorEmail>dsmiley@apache.org</authorEmail><comment>SOLR-17316: fix ApiTool and PackageUtils to fail on non-2xx responses (#4914)

`bin/solr api` and the package manager's collection-agnostic API calls now fail on a non-2xx response instead of printing it as if it had succeeded.

InputStreamResponseParser now incorporates a "reason" with the status.  A checkStatus() method helps callers handle errors.

Co-authored-by: Claude Sonnet 5 &lt;noreply@anthropic.com&gt;
(cherry picked from commit 10a2cb044e0320f0b63be7917f2742f5fff5e361)
</comment><date>2026-09-17 13:25:32 -0400</date><id>5777608633038cc57693fa8622260ef54416b687</id><msg>SOLR-17316: fix ApiTool and PackageUtils to fail on non-2xx responses (#4914)</msg><path><editType>edit</editType><file>solr/solrj/src/test/org/apache/solr/client/solrj/response/InputStreamResponseParserTest.java</file></path><path><editType>add</editType><file>changelog/unreleased/SOLR-17316-input-stream-status-check.yml</file></path><path><editType>edit</editType><file>solr/solrj-zookeeper/src/java/org/apache/solr/client/solrj/impl/NodeValueFetcher.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/cli/ApiTool.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/InputStreamResponseParser.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/packagemanager/PackageUtils.java</file></path><path><editType>edit</editType><file>solr/solrj-streaming/src/java/org/apache/solr/client/solrj/io/stream/JSONTupleStream.java</file></path><path><editType>edit</editType><file>solr/core/src/java/org/apache/solr/cloud/api/collections/SplitShardCmd.java</file></path><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpSolrClient.java</file></path></item><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>solr/solrj/src/java/org/apache/solr/client/solrj/response/InputStreamResponseParser.java</affectedPath><commitId>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</commitId><timestamp>1789666009000</timestamp><author><absoluteUrl>https://ci-builds.apache.org/user/dsmiley</absoluteUrl><fullName>David Smiley</fullName></author><authorEmail>dsmiley@apache.org</authorEmail><comment>SOLR-17316: tidy

(cherry picked from commit 188ef728c8d80688a1d873e0829b6840cc4021e1)
</comment><date>2026-09-17 13:26:49 -0400</date><id>7c19cc465bbc131b0734d0f55504c1df8cecbfc6</id><msg>SOLR-17316: tidy</msg><path><editType>edit</editType><file>solr/solrj/src/java/org/apache/solr/client/solrj/response/InputStreamResponseParser.java</file></path></item><kind>git</kind></changeSet><culprit><absoluteUrl>https://ci-builds.apache.org/user/dsmiley</absoluteUrl><fullName>David Smiley</fullName></culprit></freeStyleBuild>