Thanks Erick, I've looked over the documentation. Quick follow-up question:
What are the consequences of running with legacyCloud=true? Would I need to point a new Solr cluster at a new Zookeeper instance to avoid this? Many thanks! -Dave On Mon, Oct 30, 2017 at 1:36 PM, Erick Erickson <erickerick...@gmail.com> wrote: > empty clusterstate.json node. OK, you're on state format 2 (the modern > one) so that's good. No need to MIGRATESTATE > > The admin UI>>cloud>>tree view should have a cluster.properties (IIRC > the name correctly, it'll be fairly obvious). If you have no > non-default values it'll be totally missing. It's a sibling znode to > clusterstate.json. > > On page 56 of the 7.0 manual you'll find the command to set > legacyCloud. I recommend you download the PDF as it's easier to search > until someone breaks loose the time to get the new doc site search > working.... > > Here's the short form: > > ./server/scripts/cloud-scripts/zkcli.sh -zkhost 127.0.0.1:2181 -cmd > clusterprop -name legacyCloud -val true > > If that works you'll see a node in your ZK tree. > > Best, > Erick > > On Mon, Oct 30, 2017 at 9:13 AM, Dave Seltzer <dselt...@tveyes.com> wrote: > >> You may have to set legacyCloud=true in your cluster properties > >> Check your cluster properties (top level znode in ZooKeeper). > > > > How would I check this? Would it appear in the Solr Cloud interface, or > do > > I have to query Zookeeper? > > > >> Or, try the MIGRATESTATEFORMAT collection API on your 6x collection > >> first. If your current installation has a single clusterstate.json > >> that contains all of your collection information, then this would be > >> indicated. > > > > There is a single /clusterstate.json but it is an empty object. Rather, > > each collection has a state.json which seems to indicate the state of the > > cluster. > > > > Does that mean I'm using the "zookeeper is the truth" system or the old > > system? > > > > Thanks! > > > > -Dave > > > > > > On Mon, Oct 30, 2017 at 11:55 AM, Erick Erickson < > erickerick...@gmail.com> > > wrote: > > > >> You may have to set legacyCloud=true in your cluster properties. In > >> the Solr reference guide (7.0) there's a section "Changes to Default > >> Behaviors" that'll tell you a bit about that. Check your cluster > >> properties (top level znode in ZooKeeper). > >> > >> Or, try the MIGRATESTATEFORMAT collection API on your 6x collection > >> first. If your current installation has a single clusterstate.json > >> that contains all of your collection information, then this would be > >> indicated. > >> > >> Mind you I'd experiment on a non-prod system first.... > >> > >> Best, > >> Erick > >> > >> > >> > >> On Mon, Oct 30, 2017 at 8:44 AM, Dave Seltzer <dselt...@tveyes.com> > wrote: > >> > I have a Solr collection with 1 shard and around 40 replicas hosted on > >> Solr > >> > 6.6.0 > >> > > >> > I added a Solr 7.1 server to the cluster and then tried to add a > replica > >> > (ADDREPLICA) onto the new server but got this message: > >> > > >> >> Error CREATEing SolrCore 'content_collection_20171013_ > >> shard1_replica37': > >> > non legacy mode coreNodeName missing {collection.configName=content, > >> > shard=shard1, collection=content_collection_20171013} > >> > > >> > Is there something I have to do to prepare this collection for Solr > 7.x? > >> > > >> > Thanks, > >> > > >> > -Dave > >> > > >> > [root@crompcoreph02 ~]# curl "http:// > >> > [solrclusterloadbalancer]/solr/admin/collections?action= > >> ADDREPLICA&collection=content_collection_20171013&shard= > >> shard1&node=$crompcoreph02:8983_solr" > >> > <?xml version="1.0" encoding="UTF-8"?> > >> > <response> > >> > <lst name="responseHeader"><int name="status">500</int><int > >> > name="QTime">222</int></lst><lst name="failure"><str > >> > name="crompcoreph02:8983_solr">org.apache.solr.client.solrj. > >> impl.HttpSolrClient$RemoteSolrException:Error > >> > from server at http://crompcoreph02:8983/solr: Error CREATEing > SolrCore > >> > 'content_collection_20171013_shard1_replica37': non legacy mode > >> > coreNodeName missing {collection.configName=content, shard=shard1, > >> > collection=content_collection_20171013}</str></lst><str > name="Operation > >> > addreplica caused > >> > exception:">org.apache.solr.common.SolrException:org. > apache.solr.common. > >> SolrException: > >> > ADDREPLICA failed to create replica</str><lst name="exception"><str > >> > name="msg">ADDREPLICA failed to create replica</str><int > >> > name="rspCode">500</int></lst><lst name="error"><lst > >> name="metadata"><str > >> > name="error-class">org.apache.solr.common.SolrException</str><str > >> > name="root-error-class">org.apache.solr.common. > >> SolrException</str></lst><str > >> > name="msg">ADDREPLICA failed to create replica</str><str > >> > name="trace">org.apache.solr.common.SolrException: ADDREPLICA failed > to > >> > create replica > >> > at > >> > org.apache.solr.handler.admin.CollectionsHandler.handleResponse( > >> CollectionsHandler.java:300) > >> > at > >> > org.apache.solr.handler.admin.CollectionsHandler.invokeAction( > >> CollectionsHandler.java:237) > >> > at > >> > org.apache.solr.handler.admin.CollectionsHandler.handleRequestBody( > >> CollectionsHandler.java:215) > >> > at > >> > org.apache.solr.handler.RequestHandlerBase.handleRequest( > >> RequestHandlerBase.java:173) > >> > at > >> > org.apache.solr.servlet.HttpSolrCall.handleAdmin( > HttpSolrCall.java:748) > >> > at > >> > org.apache.solr.servlet.HttpSolrCall.handleAdminRequest( > >> HttpSolrCall.java:729) > >> > at org.apache.solr.servlet.HttpSolrCall.call( > >> HttpSolrCall.java:510) > >> > at > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter( > >> SolrDispatchFilter.java:361) > >> > at > >> > org.apache.solr.servlet.SolrDispatchFilter.doFilter( > >> SolrDispatchFilter.java:305) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler$CachedChain. > >> doFilter(ServletHandler.java:1691) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler.doHandle( > >> ServletHandler.java:582) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle( > >> ScopedHandler.java:143) > >> > at > >> > org.eclipse.jetty.security.SecurityHandler.handle( > >> SecurityHandler.java:548) > >> > at > >> > org.eclipse.jetty.server.session.SessionHandler. > >> doHandle(SessionHandler.java:226) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandler. > >> doHandle(ContextHandler.java:1180) > >> > at > >> > org.eclipse.jetty.servlet.ServletHandler.doScope( > >> ServletHandler.java:512) > >> > at > >> > org.eclipse.jetty.server.session.SessionHandler. > >> doScope(SessionHandler.java:185) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandler. > >> doScope(ContextHandler.java:1112) > >> > at > >> > org.eclipse.jetty.server.handler.ScopedHandler.handle( > >> ScopedHandler.java:141) > >> > at > >> > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle( > >> ContextHandlerCollection.java:213) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerCollection. > >> handle(HandlerCollection.java:119) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle( > >> HandlerWrapper.java:134) > >> > at > >> > org.eclipse.jetty.rewrite.handler.RewriteHandler.handle( > >> RewriteHandler.java:335) > >> > at > >> > org.eclipse.jetty.server.handler.HandlerWrapper.handle( > >> HandlerWrapper.java:134) > >> > at org.eclipse.jetty.server.Server.handle(Server.java:534) > >> > at org.eclipse.jetty.server.HttpChannel.handle( > >> HttpChannel.java:320) > >> > at > >> > org.eclipse.jetty.server.HttpConnection.onFillable( > >> HttpConnection.java:251) > >> > at > >> > org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded( > >> AbstractConnection.java:273) > >> > at org.eclipse.jetty.io.FillInterest.fillable( > >> FillInterest.java:95) > >> > at > >> > org.eclipse.jetty.io.SelectChannelEndPoint$2.run( > >> SelectChannelEndPoint.java:93) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume. > >> executeProduceConsume(ExecuteProduceConsume.java:303) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume. > >> produceConsume(ExecuteProduceConsume.java:148) > >> > at > >> > org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run( > >> ExecuteProduceConsume.java:136) > >> > at > >> > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob( > >> QueuedThreadPool.java:671) > >> > at > >> > org.eclipse.jetty.util.thread.QueuedThreadPool$2.run( > >> QueuedThreadPool.java:589) > >> > at java.lang.Thread.run(Thread.java:748) > >> > </str><int name="code">500</int></lst> > >> > </response> > >> >