Repository navigation
fix(#1998): explicit SolrJ 10 module packaging (HTTP-only, no Jetty/ZK) - #2009
Merged
Merged
Conversation
Parent #1788 slice 2. Bump solr.version 9.10.1 -> 10.0.0 together with real Java changes (never a bare pin). - Replace removed Apache-HttpClient HttpSolrClient with HttpJdkSolrClient - Cloud path: Solr URL Builder + withDefaultCollection (ZK stays excluded) - ContentStreamUpdateRequest.addFile(Path); document single-stream extract vs removed setUseMultiPartPost (multi-stream multipart -> #1998 jetty) - Unit tests: construction branches + mocked delete/commit without network - Keep SolrConfigLoaderTest green Gates: cd system && ../mvnw clean install (BUILD SUCCESS; Tests run: 1076, Failures: 0); Spotless apply then check (in-scope only). Fixes #1997 Related #1788 #1996 > Co-Authored by Grok Build using grok-4.5 with agent main.
SolrJ 10 optional modules are non-transitive. Manage solr-solrj, solr-api, solr-solrj-jetty, and solr-solrj-zookeeper in root dependencyManagement; declare only solr-solrj on system (optional) and WebUI (WAR packaging for optional system dep). Keep solr-solrj-jetty off tree (HttpJdk path from #1997). Enforcer-ban solr-solrj-zookeeper + ZK jars (#1673). Drop stale Jetty/Netty exclusions on solr-solrj core (not transitively pulled in 10). Update Jackson 2.x pin comments for dual tools.jackson 3.x runtime. Add packaging policy unit test that jetty/ZK client classes are absent. Fixes #1998 Related #1788 #1997 #1673 > Co-Authored by Grok Build using grok-4.5 with agent main.
natechadwick
approved these changes
Aug 5, 2026
This was referenced Aug 5, 2026
natechadwick
pushed a commit
that referenced
this pull request
Aug 5, 2026
#2075) Parent #1788 slice 5 — docs/closure only (no solr.version re-bump; already 10.0.0 on main via #2009). - Operator release notes peer to Derby 548 style under docs/ai-generated/tasks/1788-solrj-10/release-notes-8.2-solrj-10.md (server matrix 9.x vs 10.x, base URL /solr, HTTP-only / no ZK, extract + Tika Server on Solr 10; links inventory + verification plan) - Cross-link slice tables in 00-inventory.md and 01-verification-plan.md - Dependabot: ignore org.apache.solr:* semver-major after intentional 10.x so bare major bumps like #1777 do not reopen; patch/minor still allowed Gates: docs + dependabot.yml only (no Maven module clean install). Spotless apply then check; commit in-scope only (out-of-scope Spotless hits left uncommitted). Fixes #2000 Related #1788 #1777 #2009 #2010 > Co-Authored by Grok Build using grok-4.5 with agent main.
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.
Summary
Slice 3 of parent epic #1788 (Solr / SolrJ packaging for non-transitive modules). Coordinates with #1997 client choice (
HttpJdkSolrClient).Stacks on the #1997 cutover commit (same branch history as PR #2008). Prefer merge order: #2008 first then this, or merge this PR (includes cutover + packaging) and close #2008 as superseded for the overlapping cutover commit. Do not merge Dependabot #1777 as a substitute.
Packaging decisions
solr-solrjHttpJdkSolrClient). system optional + WebUI explicit WAR packagingsolr-api${solr.version}solr-solrj-jettysolr-solrj-zookeeperzookeeper/zookeeper-juteChanges
dependencyManagementsolr-solrj,solr-api,solr-solrj-jetty,solr-solrj-zookeepersolr-solrjexclusionsorg.apache.solr:solr-solrj-zookeeperin addition to ZK jarssystem/pom.xmlWebUI/pom.xmlsolr-solrj— system marks it optional; WebUI must package it for WAR runtime (PSSolrDeliveryHandler); no WebUI Java importspackagingPolicy_optionalSolrModulesNotOnClasspathasserts Jetty/ZK client classes absentTest plan
PSSolrDeliveryHandlerTest— 14 tests (incl. packaging policy), Failures: 0solr-solrj→solr-apionly (no jetty/ZK)solr-solrj→solr-apionlyGates evidence
mvnw.cmd -DspotlessFiles=… spotless:applythenspotless:check(BUILD SUCCESS); only in-scope files committed (out-of-scope Spotless hits discarded)cd system && ..\mvnw.cmd clean install→ BUILD SUCCESS; Tests run: ~1025, Failures: 0, Errors: 0, Skipped: ~237cd WebUI && ..\mvnw.cmd clean install→ BUILD SUCCESSOperator
Operator: Grok: night-issue-prs (model grok-4.5)
Fixes #1998
Related #1788 #1997 #1673 #2008