serhiy-bzhezytskyy opened a new pull request, #4758: URL: https://github.com/apache/solr/pull/4758
Replaces `DocsStreamer.KNOWN_TYPES` (16 classes, exact equality) with the `ExternalizeStoredValuesAsObjects` marker (`instanceof`) on 10 base types — the 5 `Trie*Field` and `DenseVectorField` inherit it from their parents, so 16 types end up covered by 10 declarations. Landed as two commits: the first pins today's stored-value output for the quantized vector fields (values that were never actually verified before, per a throwing control), the second does the swap so those same pins catch any drift. Despite touching 15 files, most give identical output either way: `StrField`/`TextField` (and `UUIDField`, inheriting from `StrField`) don't override `toObject(IndexableField)`, so it already delegates to `toExternal` — the marker changes nothing for them. Only two real behaviour changes: quantized dense-vector fields now return numbers instead of strings (repairs an inconsistency with their own superclass), and `BinaryField` test subclasses (`StrBinaryField`, `SwapBytesBinaryField`, `SortableBinaryField`) lose their string form since `BinaryField.toObject` returns `ByteBuffer`, which no subclass can override back to `String`. Zero remaining references to `KNOWN_TYPES`. 59 tests across `DocsStreamerTest`, `TestBinaryField`, `ScalarQuantizedDenseVectorFieldTest`, `DenseVectorFieldTest` — 0 failures. AI-assisted (Claude Sonnet 5) -- 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]
