[
https://issues.apache.org/jira/browse/SOLR-17518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17936277#comment-17936277
]
Pierre Salagnac commented on SOLR-17518:
----------------------------------------
Thanks for pointing this [~dsmiley].
There is indeed a small compilation change, where old code that was creating a
new {{RequestWriter}} will now have to create a new {{{}XMLRequestWriter{}}}.
That's unclear to me that we require a *strict* compilation backward
compatibility between minor versions. When we do Lucene upgrade in Solr for
example, we do have to handle some minor changes to get everything compiling
with the new version. My understanding was that's acceptable to require some
similar change with a new SolrJ version.
The required change here would be a very simple renaming, which does not force
a SolrJ user to redesign and rewrite some more complex code. There is no
feature drop. Maybe that's a good opportunity to have a broader discussion on
what is required for backward compatibility and write guidelines?
About your comment on the {{CHANGES.txt}} entry, that's fair it does not
mention the replacement of the class. I will expand it (assuming we keep the
change as it is).
> Refactor out a XmlRequestWriter so that RequestWriter is abstract
> -----------------------------------------------------------------
>
> Key: SOLR-17518
> URL: https://issues.apache.org/jira/browse/SOLR-17518
> Project: Solr
> Issue Type: Task
> Components: SolrJ
> Reporter: David Smiley
> Assignee: Pierre Salagnac
> Priority: Minor
> Labels: newdev, pull-request-available
> Fix For: main (10.0), 9.9
>
> Time Spent: 2h 20m
> Remaining Estimate: 0h
>
> RequestWriter writes XML; some subclasses write other things. This is
> terrible API design; the XML choice should be a subclass, RequestWriter
> should be abstract (or an interface).
> While we're at this, the XML generation is kind of split into multiple
> places; it should be consolidated: UpdateRequest & ClientUtils have XML
> generation methods. Those methods should move to the new XmlRequestWriter.
> BinaryRequestWriter should probably be final and/or ensure the CBOR one does
> not subclass it, which is weird since CBOR != "javabin".
> Be sure to note this refactoring in the update notes since SolrJ users will
> be impacted.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]