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>
>>

Reply via email to