You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Jan Høydahl (JIRA)" <ji...@apache.org> on 2015/08/07 10:06:46 UTC

[jira] [Commented] (SOLR-7642) Should launching Solr in cloud mode using a ZooKeeper chroot create the chroot znode if it doesn't exist?

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

Jan Høydahl commented on SOLR-7642:
-----------------------------------

bq. What I don't like about it is that things like typos in connection strings just create new zk nodes and start a fresh zk state tree

So how about we auto-create the chroot only if it == {{/solr}}. That will probably be the case for 90%, and there should be no reason to believe the chroot was chosen on accident. Then we could recommend always using a chroot of {{/solr}}, and document that for advanced cases, e.g. reusing the same ZK ensemble for multiple Solr clusters, you need to create other chroots manually...

> Should launching Solr in cloud mode using a ZooKeeper chroot create the chroot znode if it doesn't exist?
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: SOLR-7642
>                 URL: https://issues.apache.org/jira/browse/SOLR-7642
>             Project: Solr
>          Issue Type: Improvement
>            Reporter: Timothy Potter
>            Priority: Minor
>
> If you launch Solr for the first time in cloud mode using a ZooKeeper connection string that includes a chroot leads to the following initialization error:
> {code}
> ERROR - 2015-06-05 17:15:50.410; [   ] org.apache.solr.common.SolrException; null:org.apache.solr.common.cloud.ZooKeeperException: A chroot was specified in ZkHost but the znode doesn't exist. localhost:2181/lan
>         at org.apache.solr.core.ZkContainer.initZooKeeper(ZkContainer.java:113)
>         at org.apache.solr.core.CoreContainer.load(CoreContainer.java:339)
>         at org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:140)
>         at org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:110)
>         at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:138)
>         at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:852)
>         at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:298)
>         at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
>         at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
>         at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
>         at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
> {code}
> The work-around for this is to use the scripts/cloud-scripts/zkcli.sh script to create the chroot znode (bootstrap action does this).
> I'm wondering if we shouldn't just create the znode if it doesn't exist? Or is that some violation of using a chroot?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org