[ 
https://issues.apache.org/jira/browse/LUCENE-4440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13464728#comment-13464728
 ] 

Uwe Schindler commented on LUCENE-4440:
---------------------------------------

This is the same chicken-and-egg problem the ICU4J project had with one 
Japanese Locale. The problem here is, that Codec.forName() cannot be used 
before SPI loading is finished. The problem here is that SPI loads all codec 
names and creates instances from them. But at the time of creating those 
instances, the lookup does not yet work.

I agree we should add a null check in SPILoader's lookup method (not 
Codec.forName) to throw IllegalStateException("Cannot requests codec until 
service provider interface has finished loading them").
                
> FilterCodec should take a delegate Codec in its ctor
> ----------------------------------------------------
>
>                 Key: LUCENE-4440
>                 URL: https://issues.apache.org/jira/browse/LUCENE-4440
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/codecs
>            Reporter: Shai Erera
>            Assignee: Shai Erera
>            Priority: Minor
>         Attachments: LUCENE-4440.patch
>
>
> FilterCodec has a delegate() method through which an extension can return its 
> delegate Codec. This method is called on every Codec method. Adrien, on 
> LUCENE-4391, failed to pass a Codec in the ctor, since he couldn't called 
> Codec.forName().
> Instead, we should just pass e.g. new Lucene40Codec(). I'll post a patch 
> shortly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to