You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Richard Walker (JIRA)" <ji...@apache.org> on 2019/07/22 07:38:00 UTC
[jira] [Created] (SOLR-13646) Documentation about plugin JARs in
SolrCloud mode either incomplete or doesn't match available functionality
Richard Walker created SOLR-13646:
-------------------------------------
Summary: Documentation about plugin JARs in SolrCloud mode either incomplete or doesn't match available functionality
Key: SOLR-13646
URL: https://issues.apache.org/jira/browse/SOLR-13646
Project: Solr
Issue Type: Bug
Security Level: Public (Default Security Level. Issues are Public)
Components: documentation, Plugin system, SolrCloud
Affects Versions: 8.1.1
Reporter: Richard Walker
(As originally "discussed" on mailing list at [http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201907.mbox/%3cAE3E5DBE-0D38-4594-B82A-CEAB4E0244F2@ardc.edu.au%3e])
I'm trying to use a plugin JAR containing a custom query parser.
I've been able to get this to work the "simple" way, by putting the JAR in the file system, and specifying basic
{code:java}
<lib dir="..." regex="..." />
<queryParser name="..." class="..." />
{code}
values in {{solrconfig.xml}}. No problem doing it this way.
But I'm running in SolrCloud mode and I'd like to take advantage of an option that the user guide seems to offer at this page:
[https://lucene.apache.org/solr/guide/8_1/resource-and-plugin-loading.html]
But, so far, I don't see how to make it work.
To be specific, I'm trying to use this idea:
{quote}Resources and plugins may be stored:
* in ZooKeeper under a collection’s configset node (SolrCloud only);{quote}
Note: I'm _not_ trying to do the _third_ option listed, i.e.:
{quote} * in Solr’s Blob Store (SolrCloud only)", that uses the ".system" collection.{quote}
The user guide seems to suggest that I can upload the JAR to the collection's config using {{zk cp}}:
"To upload a plugin or resource to a configset already stored on ZooKeeper, you can use {{bin/solr zk cp}}."
So, I've used zk cp to upload the JAR to {{zk:/configs/my_collection/my_plugin.jar}}
(I also tried various other subdirectories such as {{zk:/configs/my_collection/lib/my_plugin.jar}})
So far, so good. But now how do I refer to the JAR in {{solrconfig.xml}}? The user guide doesn't really say.
I've tried specifying the location of the JAR with various values of {{<lib ...>}} element.
No success at all; I only get a {{ClassNotFoundException}} for the plugin class.
So, it seems that the documentation is _at least_ missing information about how to specify the location of a plugin JAR stored "in ZooKeeper under a collection’s configset node".
I found this earlier thread: [http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201701.mbox/%3cCAKHkODQV-y59+7M86oGVf1Feqj6iEiogp8TrhL1MG5fUAjL+MA@mail.gmail.com%3e]
in which the second message (from Shawn Heisey) says:
{quote}I actually do not know what the path for lib directives is relative to when running SolrCloud. Most things in a core config are relative to the location of the config file itself, but in this case, the config file is not on the filesystem at all, it's in zookeeper, and I don't think Solr can use jars in zookeeper.
{quote}
So, if this is right, it seems that the documentation is in this case offering functionality that does not exist. (And, once again, I am _not_ talking about "Solr’s Blob Store ... that uses the .system collection", which I don't want to use.)
Richard.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org