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]

Reply via email to