I am testing trunk and have seen a different behaviour when loading
updateProcessors wich I don't know if it's normal (at least with multicore)
Before I use to use an updateProcessorChain this way:

<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
    <lst name="defaults">
       <str name="update.processor">myChain</str>
    </lst>
</requestHandler>  
<updateRequestProcessorChain name="myChain">
    <processor
class="org.apache.solr.update.processor.CustomUpdateProcessorFactory" />
    <processor
class="org.apache.solr.update.processor.LogUpdateProcessorFactory" />
    <processor
class="org.apache.solr.update.processor.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

It does not work in current trunk. I have debuged the code and I have seen
now UpdateProcessorChain is loaded via:

  public <T> T initPlugins(List<PluginInfo> pluginInfos, Map<String, T>
registry, Class<T> type, String defClassName) {
    T def = null;
    for (PluginInfo info : pluginInfos) {
      T o = createInitInstance(info,type, type.getSimpleName(),
defClassName);
      registry.put(info.name, o);
      if(info.isDefault()){
            def = o;
      }
    }
    return def;
  }

As I don't have default="true" in the configuration, my custom
processorChain is not used. Setting default="true" makes it work:

<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
    <lst name="defaults">
       <str name="update.processor">myChain</str>
    </lst>
</requestHandler>  
<updateRequestProcessorChain name="myChain" default="true">
    <processor
class="org.apache.solr.update.processor.CustomUpdateProcessorFactory" />
    <processor
class="org.apache.solr.update.processor.LogUpdateProcessorFactory" />
    <processor
class="org.apache.solr.update.processor.RunUpdateProcessorFactory" />
</updateRequestProcessorChain>

As far as I understand, if you specify the chain you want to use in here:
<requestHandler name="/update" class="solr.XmlUpdateRequestHandler">
    <lst name="defaults">
       <str name="update.processor">myChain</str>
    </lst>
</requestHandler>

Shouldn't be necesary to set it as default.
Is it going to be kept this way?

Thanks in advance



-- 
View this message in context: 
http://old.nabble.com/loading-an-updateProcessorChain-with-multicore-in-trunk-tp27371375p27371375.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to