[ 
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: issues-unsubscr...@solr.apache.org
For additional commands, e-mail: issues-h...@solr.apache.org

Reply via email to