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

Uwe Schindler commented on SOLR-8876:
-------------------------------------

bq. Another option is to remove the cell contrib and add a more generic 
interface that morphlines can be plugged into external (or whatever logic)

This is also something I would propose in general. This would allow to make 
some "cell" functionality that would use the TIKA server functionality. This 
would make the Solr distrib smaller and its no longer risky to crush the Solr 
server when the M$ Office parser runs out of memory! Instead you can simply 
restart the TIKA server in a separate JVM or instead use Morphlines, maybe also 
in separate JVM.

> Morphlines fails with "No command builder registered for ..." when using Java 
> 9 due to morphline "importCommands" config option attempting to resolve 
> classname globs
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-8876
>                 URL: https://issues.apache.org/jira/browse/SOLR-8876
>             Project: Solr
>          Issue Type: Bug
>          Components: contrib - MapReduce, contrib - morphlines-cell, contrib 
> - morphlines-core
>            Reporter: Uwe Schindler
>            Assignee: Hoss Man
>              Labels: Java9
>             Fix For: 6.5, master (7.0)
>
>         Attachments: SOLR-8876.patch
>
>
> When running Solr in java9, and using the morphlines contrib(s) users may 
> encounter vague errors such as...
> {noformat}
> No command builder registered for COMMAND_NAME
> {noformat}
> This error comes directly from the morphlines code, and relates to the use of 
> wildcards in the {{importCommands}} declaration of of morphlines {{\*.conf}} 
> files used -- for example...
> {noformat}
> importCommands : ["org.kitesdk.**", "org.apache.solr.**"]
> {noformat}
> Using wildcards like {{\*}} and {{\*\*}} in morphline's {{importCommands}} 
> config options do not work in java9 due to changes in the underlying JVM 
> classloader.
> This issue is tracked up stream in: 
> https://github.com/kite-sdk/kite/issues/469
> ----
> *WORK AROUND*
> The workaround is to only use fully qualified command class names in 
> {{importCommands}} declaration, one for each distinct command used in that 
> {{conf}} file.
> Example:
> {noformat}
> # Old config, does not work in java9
> # importCommands : ["org.kitesdk.**", "org.apache.solr.**"]
> # replaced with...
> # using globs (foo.bar.* or foo.bar.**) will not work in Java9 due to 
> classpath scanning limitations
> # so we enumarate every command (builder) we know this config uses below. 
> (see SOLR-8876)
> importCommands : ["org.kitesdk.morphline.stdlib.LogDebugBuilder",
>                   
> "org.apache.solr.morphlines.solr.SanitizeUnknownSolrFieldsBuilder",
>                   "org.apache.solr.morphlines.solr.LoadSolrBuilder"]
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to