nick-boss-tech commented on PR #5235: URL: https://github.com/apache/solr/pull/5235#issuecomment-6427386421
🤖 *AI text below* 🤖 *(reviewed by Nick Shanin)* @dsmiley, following up on my review note, I prepared fixes and regression tests on top of your current head (`9ff44cdd0b81`) for four 10.x compatibility issues: - Embedded `ContentStreamUpdateRequest`s with two unnamed streams index only the first document. The fix preserves all legacy embedded streams while retaining explicit multipart writers. - Both public `CommandOperation.readCommands` overloads are absent. The fix restores them as deprecated methods and delegates `ApiBag` to the same implementation. - A `GenericSolrRequest` subclass overriding only `getContentStreams()` loses its supplied HTTP payload. The tested requests send `wt=xml` instead. The fix restores the JavaBin/XML request-writer fallbacks. - Custom JavaBin/XML request-writer `getContentStreams()` overrides are bypassed by eager adaptation in `SolrRequest`. The fix restores the old dispatch order, preserving custom bodies and explicit-writer priority. [Diff with fixes and tests](https://github.com/nick-boss-tech/solr/compare/9ff44cdd0b818c6f1296d69651732f794acd76b7...caf8dde9063fd2470c02d9938b5723e691c0e11e). The final tested head is `caf8dde9063f`; it includes your two latest Jetty tests and a formatting-only javadoc follow-up. Linux verification, seed `5235C0FFEE18351`: - Original PR with the same tests: 12 failing methods and 6 passing controls. Fixed head: all 18 pass, zero skips. The command APIs are checked reflectively; both HTTP issues reproduce through Jetty/JDK clients with JavaBin/XML writers. - Neighboring suites: solrj 83 tests (1 skipped), Jetty 52 (none skipped), core 4 (1 skipped), with no failures or errors. The two skips are existing assumptions/test-group exclusions. - Tidy leaves a clean tree. The root `check -x test` passes in a full clone at the same commit with `NODE_ENV` unset. Its worktree attempt failed because Antora rejected the `.git` file; the full clone resolved that setup issue. [Verification details](https://github.com/nick-boss-tech/solr/blob/e9b9b8b1624515329d10a19b46cae8b25ea773a3/receipts/PR-5235-compatibility-fixes-round-3.md). To bring the tested changes into your PR branch: ```sh git switch SOLR-18351-backport-10x git fetch https://github.com/nick-boss-tech/solr.git solr-18351-submit git merge --ff-only caf8dde9063fd2470c02d9938b5723e691c0e11e ``` To rerun the focused tests from the repository root: ```sh ./gradlew --no-daemon :solr:solrj:cleanTest :solr:solrj:test --tests org.apache.solr.common.util.TestCommandOperationCompatibility -Ptests.seed=5235C0FFEE18351 --no-build-cache ./gradlew --no-daemon :solr:core:cleanTest :solr:core:test --tests org.apache.solr.client.solrj.embedded.TestEmbeddedContentStreamCompatibility -Ptests.seed=5235C0FFEE18351 --no-build-cache ./gradlew --no-daemon :solr:solrj-jetty:cleanTest :solr:solrj-jetty:test --tests org.apache.solr.client.solrj.jetty.TestLegacyContentStreamCompatibility -Ptests.seed=5235C0FFEE18351 --no-build-cache ``` You're welcome to take these commits or adapt the changes. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
