Thanks. FWIW I'm totally onboard with enforcing this restriction at the next 10.x release. Users can adapt if they are subclassing them, which should be *very* unusual. Additionally, SimpleOrderedMap should be final. Bottom line: these 2 classes should be locked down with exactly 2 implementations.
On Wed, Oct 28, 2026 at 6:57 AM Ivan Šarić <[email protected]> wrote: > Hi David, > > I've filed the first SIP-22 ticket: > > SOLR-18603: Seal the NamedList class hierarchy (SIP-22 step 4) > https://issues.apache.org/jira/browse/SOLR-18603 > < > https://www.google.com/url?q=https://issues.apache.org/jira/browse/SOLR-18603&source=gmail&ust=1793270606387000&sa=E > > > > Scoped as discussed: seal NamedList with an explicit permits list after > auditing every subclass across all modules (tests and solr/modules > included), no behaviour or signature changes, main / 11.0 only, with an > upgrade note since sealing a public SolrJ class is a plugin-compatibility > change. One PR against main. > > I'll file the step 5 ticket (NamedList instantiations -> SimpleOrderedMap) > once the audit from step 4 is done, since what it turns up may affect that > scope. Thanks for sharing SOLR-18398 - I'll keep step 5 clear of > SolrQueryResponse and the response header, and I'm happy to help with that > one when the time comes. > > Regards, > Ivan Šarić > Owner and developer > Path Variable d.o.o. > Vinjerac, Croatia > VAT No. HR76935894745 > Phone: +385 99 254 9702 <+385%2099%20254%209702> > E-mail: [email protected] > Web: https://www.path-variable.com > > On Thu, Oct 22, 2026 11:09 PM, David Smiley <[email protected]> wrote: > > > Thanks for looking to contribute to the effort, Ivan! > > The NamedList migration SIP is here: > > > > > https://cwiki.apache.org/confluence/spaces/SOLR/pages/340036504/SIP-22+NamedList+Reduction > > Some progress was made, but it has stalled. The "Proposed Changes" > > list is useful and ordered. The last completed step was > > "NamedList.findRecursive: deprecate and stop using". So you could > > look to the next one or two. Note that the SIP suggests 10.0 is the > > bigger release to land incompatible changes on but that version is now > > Solr 11.0, since 10.0 shipped. > > > > Next: > > > > Minor: Use Java 17 "sealed classes" to insist the NamedList type > > hierarchy is exactly what we want; no surprises. > > > > Change NamedList *instantiations* to SimpleOrderedMap as appropriate; > > probably many places. This is Solr 11 only; it can affect backwards > > compatibility. > > You might ignore tests for the scope of this. > > The intended scope of that is where "new" is used -- creating a new > > NamedList -- using SOM instead. The intended scope is *not* updating > > common Solr APIs (public methods) to change signature types away from > > NamedList (to either SOM or Map). Of course we want that too... but > > perhaps that's too much in one go. > > > > On Thu, Oct 22, 2026 at 2:06 PM Houston Putman <[email protected]> > wrote: > > > > > > I think a lot of the next stage will be changing the actual users of > > > NamedList to change their usage so that a different data structure can > be > > > used. > > > Or at least identify the easy-win usages and migrate them away. > > > But maybe I am misunderstanding the goal here. > > > > > > - Houston > > > > > > On Thu, Oct 22, 2026 at 9:35 AM Ivan Šarić <[email protected]> > > wrote: > > > > > > > Hi all, > > > > > > > > Earlier this year I contributed the SOLR-17600 series (PRs > #4463–#4466) > > > > migrating the codebase from MapSerializable to MapWriter and removing > > the > > > > interface. I'd like to keep contributing in the same area. > > > > > > > > Is there a natural next step in the NamedList → Map / MapWriter > cleanup > > > > that nobody has picked up yet? I saw SOLR-18373 recently removed > > > > asShallowMap and the related NamedList helpers, so I assume there is > > more > > > > of that deprecation track planned. If there is an open or > > soon-to-be-filed > > > > issue in that direction, I'm happy to take it. > > > > > > > > Failing that, I'd appreciate a pointer to any newdev-style ticket > that > > fits > > > > a contributor already familiar with the SolrJ/common.util side. > > > > > > > > > > > > Regards, > > > > Ivan Šarić > > > > Owner and developer > > > > Path Variable d.o.o. > > > > Vinjerac, Croatia > > > > VAT No. HR76935894745 > > > > Phone: +385 99 254 9702 <+385%2099%20254%209702> > <+385%2099%20254%209702> > > > > E-mail: [email protected] > > > > Web: https://www.path-variable.com > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > > For additional commands, e-mail: [email protected] > > > > >
