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

sdhalex commented on SOLR-8876:
-------------------------------

[~sdhalex] gogogo

> 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: Chris M. Hostetter
>            Priority: Major
>              Labels: Java9
>             Fix For: 6.5, 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
(v8.3.4#803005)

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

Reply via email to