If at all possible you shouldn't run with legacyCloud=true. I was just
mentioning that in order to see if that was the place to start
looking, I could have been clearer.

Let's back up a bit though. I just tried this creating a collection
with 6.6.0, changing to 7.1.0 and I can add replicas just fine.

Things are weirder when creating a collection with 6.6.1 (or 7.0 for
that matter), adding a new replica works but the _old_ core fails to
load.

So what _exactly_ are your versions? And what _exactly_ did you try?
This is suspiciously like
https://issues.apache.org/jira/browse/SOLR-11503, the fix will be in
7.2 or you can try patching your 7.1...

Erick

On Mon, Oct 30, 2017 at 1:00 PM, Dave Seltzer <dselt...@tveyes.com> wrote:
> 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>
>> >>
>>

Reply via email to