[
https://issues.apache.org/jira/browse/SOLR-414?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12546526
]
Koji Sekiguchi commented on SOLR-414:
-------------------------------------
Ryan,
On SOLR-319, I'd like SynonymFilterFactory to implement SolrCoreAware so that
it can use "fieldType" instead of "tokenFactory" to analyze synonyms.txt as
Hoss suggested on that ticket. But due to above constraint, I got the following
exception:
FATAL: org.apache.solr.common.SolrException: Invalid 'Aware' object: [EMAIL
PROTECTED] -- org.apache.solr.util.plugin.SolrCoreAware must be an instance of:
[org.apache.solr.request.SolrRequestHandler]
[org.apache.solr.request.QueryResponseWriter]
[org.apache.solr.handler.component.SearchComponent]
at
org.apache.solr.core.SolrResourceLoader.assertAwareCompatibility(SolrResourceLoader.java:341)
at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:227)
at
org.apache.solr.util.plugin.AbstractPluginLoader.create(AbstractPluginLoader.java:83)
at
org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:140)
at org.apache.solr.schema.IndexSchema.readAnalyzer(IndexSchema.java:652)
at org.apache.solr.schema.IndexSchema.access$000(IndexSchema.java:57)
at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:338)
at org.apache.solr.schema.IndexSchema$1.create(IndexSchema.java:356)
at
org.apache.solr.util.plugin.AbstractPluginLoader.load(AbstractPluginLoader.java:140)
at org.apache.solr.schema.IndexSchema.readSchema(IndexSchema.java:365)
at org.apache.solr.schema.IndexSchema.<init>(IndexSchema.java:73)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:286)
at org.apache.solr.core.SolrCore.getSolrCore(SolrCore.java:254)
at
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:68)
at
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
at
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
at
org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:78)
at
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
at
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
at
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
at
org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at
org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553)
at
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at
org.apache.catalina.core.StandardService.start(StandardService.java:448)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)
at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
Can the constraint be revised?
> Coherent plugin initialization strategy
> ---------------------------------------
>
> Key: SOLR-414
> URL: https://issues.apache.org/jira/browse/SOLR-414
> Project: Solr
> Issue Type: Improvement
> Affects Versions: 1.3
> Reporter: Ryan McKinley
> Assignee: Ryan McKinley
> Fix For: 1.3
>
> Attachments: SOLR-414-Initialization.patch,
> SOLR-414-Initialization.patch, SOLR-414-Initialization.patch,
> SOLR-414-Initialization.patch, SOLR-414-Initialization.patch
>
>
> We currently load many plugins with a Map or NamedList -- since SOLR-215, the
> current core is not available through SolrCore.getSolrCore() and may need to
> be used for initialization.
> Ideally, we could change the init() methods from:
> {panel}void init( final Map<String,String> args );{panel}
> to
> {panel}void init( final SolrCore core, final Map<String,String> args );{panel}
> Without breaking existing APIs, this change is difficult (some ugly options
> exist). This patch offers a solution to keep existing 1.2 APIs, and allow
> access to the SolrConfig and SolrCore though ThreadLocal. This should be
> removed in a future release.
> {panel}
> DeprecatedPluginUtils.getCurrentCore();
> DeprecatedPluginUtils.getCurrentConfig();
> {panel}
> This patch removes the SolrConfig.Initalizable that was introduced in
> SOLR-215.
> For background, see:
> http://www.nabble.com/Initializing---break-init%28%29-API-compatibility--tf4808463.html
> See also: SOLR-260, SOLR-215, SOLR-399
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.