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

Mark Miller commented on SOLR-8876:
-----------------------------------

I'm actually going to withdraw my veto from Steve's removal of the map-reduce 
contribs, so that would handle this case. Another option is to remove the cell 
contrib and add a more generic interface that morphlines can be plugged into 
external (or whatever logic). I've given it some time and it doesn't seem we 
are going to address the current issues in the near term though.

> 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