[
https://issues.apache.org/jira/browse/SOLR-17046?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chris M. Hostetter updated SOLR-17046:
--------------------------------------
Attachment: SOLR-17046.patch
Status: Open (was: Open)
First stab at implementing this change.
IIUC, my new reflection based test already found a bug:
* the {{getKnnVectorsFormatForField}} impl in {{SchemaCodecFactory}} currently
throws {{SolrException}} if it's called on a field name which uses a
{{FieldType}} that is not {{instanceof DenseVectorField}}
...this seems like it violates the spirit of the method it overrides by not
delegating to super in this case – but even if it doesn't, I'm 99% confident
that this will cause unexpected/unnecessary errors if someone uses
{{SchemaCodecFactory}} with their own custom {{FieldType}} that uses
{{KnnByteVectorField}} (or something like it) internally.
Prior to SOLR-16588, {{getKnnVectorsFormatForField}} _DID_ delegate to
{{super}} for "other" FieldType impls – but this seems to have been
intentionally changed (even though it seems unrelated to the crux of the bug
being fixed in that jira).
[~krisden] / [~abenedetti] - is there a particular reason this explicit error
case was added? I don't see any explanation/discusion about it.
> SchemaCodecFactory should be the implicit default if no <codeFactory/> is
> configured
> ------------------------------------------------------------------------------------
>
> Key: SOLR-17046
> URL: https://issues.apache.org/jira/browse/SOLR-17046
> Project: Solr
> Issue Type: Improvement
> Security Level: Public(Default Security Level. Issues are Public)
> Reporter: Chris M. Hostetter
> Priority: Major
> Attachments: SOLR-17046.patch
>
>
> Solr has a {{SchemaCodecFactory}} that enables may Solr {{FieldType}} impls
> to customize the behavior of of the indexing codec -- but unless it is
> explicitly configured in {{solrconfig.xml}}, the Lucene
> {{Codec.getDefault()}} is used in it's place.
> We should consider changing the behavior of Solr so that the implicit
> {{<codecFactory/>}} is {{SchemaCodecFactory}}, and offer a (new)
> {{LuceneDefaultCodecFactory}} that users can configure if there have any
> strong reason for not wanting to support the per-field configurability of
> {{SchemaCodecFactory}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]