Marc,

Fundamentally it’s a good solution design to always be capable of reposting 
(reindexing) your data to Solr.  You are demonstrating a classic use case of 
this, which is upgrade.  Is there a critical reason why you are avoiding this 
step?  

Jason

On May 30, 2014, at 10:38 AM, Marc Campeau <cam...@gmail.com> wrote:

> 2014-05-30 12:24 GMT-04:00 Erick Erickson <erickerick...@gmail.com>:
> 
>> Let's back up a bit here. Why are you copying your indexes around?
>> SolrCloud does all this for you. I suspect you've somehow made a mis-step.
>> 
> 
> I started by copying the index around because my 4.5.1 instance is not
> setup as Cloud and I wanted to avoid reindexing all my data when migrating
> to my new 4.8.1 SolrCloud setup. I've now put that aside and I'm just
> trying to get replication happening when I populate an empty collection.
> 
> 
>> So here's what I'd do by preference; Just set up a new collection and
>> re-index. Make sure all of the nodes are up and then just go ahead and
>> index to any of them. If you're using SolrJ, CloudSolrServer will be a bit
>> more efficient than sending the docs to random nodes, but that's not
>> necessary.
>> 
> 
> I've been trying that this morning. Stop the instances, deleted the
> contents of  /data on all my 4.8.1 instances then started them again...
> they all show up in a 1 shard cluster as 4 replicas and one is the
> leader... they're still shown as down in clusterstate. Then I sent a
> document to be added to one of the nodes specifically. Only that node now
> contains the document. It hasn't been replicated to the other instances.
> 
> When I issue queries to the collection for that document through my load
> balancer it works roughtly 1/4 times, in accordance with the fact that it's
> only on the instance where it was added.
> 
> Must I use the CLI API for collections to create this new collection or can
> I just do it old style by creating subfolder in /solr directory with my
> confs?
> 
> 
> Here's the log of these operations
> 
> LOG of Instance where document was added:
> --------------------
> 2758138 [qtp1781256139-14] INFO
> org.apache.solr.update.processor.LogUpdateProcessor  – [mycollection]
> webapp=/solr path=/update/ params={indent=on&version=2.2&wt=json}
> {add=[Listing_3446279]} 0 271
> 2769177 [qtp1781256139-12] INFO  org.apache.solr.core.SolrCore  –
> [mycollection] webapp=/solr path=/admin/ping params={} hits=0 status=0
> QTime=1
> 
> [... More Pings ... ]
> 
> 2773138 [commitScheduler-7-thread-1] INFO
> org.apache.solr.update.UpdateHandler  – start
> commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=true,prepareCommit=false}
> 2773377 [commitScheduler-7-thread-1] INFO
> org.apache.solr.search.SolrIndexSearcher  – Opening
> Searcher@175816a5[mycollection]
> main
> 2773389 [searcherExecutor-5-thread-1] INFO  org.apache.solr.core.SolrCore
> – QuerySenderListener sending requests to Searcher@175816a5[mycollection]
> main{StandardDirectoryReader(segments_1:3:nrt _0(4.8):C1)}
> 2773389 [searcherExecutor-5-thread-1] INFO  org.apache.solr.core.SolrCore
> – QuerySenderListener done.
> 2773390 [searcherExecutor-5-thread-1] INFO  org.apache.solr.core.SolrCore
> – [mycollection] Registered new searcher Searcher@175816a5[mycollection]
> main{StandardDirectoryReader(segments_1:3:nrt _0(4.8):C1)}
> 2773390 [commitScheduler-7-thread-1] INFO
> org.apache.solr.update.UpdateHandler  – end_commit_flush
> 
> [... More Pings ... ]
> 
> 2799792 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> start
> commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false}
> 2799883 [qtp1781256139-18] INFO  org.apache.solr.core.SolrCore  –
> SolrDeletionPolicy.onCommit: commits: num=2
> commit{dir=NRTCachingDirectory(MMapDirectory@/opt/solr-4.8.0/example/solr/mycollection/data/index
> lockFactory=NativeFSLockFactory@/opt/solr-4.8.0/example/solr/mycollection/data/index;
> maxCacheMB=48.0 maxMergeSizeMB=4.0),segFN=segments_1,generation=1}
> commit{dir=NRTCachingDirectory(MMapDirectory@/opt/solr-4.8.0/example/solr/mycollection/data/index
> lockFactory=NativeFSLockFactory@/opt/solr-4.8.0/example/solr/mycollection/data/index;
> maxCacheMB=48.0 maxMergeSizeMB=4.0),segFN=segments_2,generation=2}
> 2799884 [qtp1781256139-18] INFO  org.apache.solr.core.SolrCore  – newest
> commit generation = 2
> 2799887 [qtp1781256139-18] INFO  org.apache.solr.core.SolrCore  –
> SolrIndexSearcher has not changed - not re-opening:
> org.apache.solr.search.SolrIndexSearcher
> 2799887 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> end_commit_flush
> 2799888 [qtp1781256139-18] INFO
> org.apache.solr.update.processor.LogUpdateProcessor  – [mycollection]
> webapp=/solr path=/update
> params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from=
> http://192.168.150.90:8983/solr/mycollection/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false}
> {commit=} 0 96
> 2800051 [qtp1781256139-14] INFO
> org.apache.solr.update.processor.LogUpdateProcessor  – [mycollection]
> webapp=/solr path=/update/ params={indent=on&version=2.2&wt=json} {commit=}
> 0 611
> 2802085 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> start
> commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false}
> 2802085 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  – No
> uncommitted changes. Skipping IW.commit.
> 2802086 [qtp1781256139-18] INFO  org.apache.solr.core.SolrCore  –
> SolrIndexSearcher has not changed - not re-opening:
> org.apache.solr.search.SolrIndexSearcher
> 2802086 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> end_commit_flush
> 2802087 [qtp1781256139-18] INFO
> org.apache.solr.update.processor.LogUpdateProcessor  – [mycollection]
> webapp=/solr path=/update
> params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from=
> http://192.168.150.90:8983/solr/mycollection/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false}
> {commit=} 0 2
> 2802126 [qtp1781256139-14] INFO
> org.apache.solr.update.processor.LogUpdateProcessor  – [mycollection]
> webapp=/solr path=/update/ params={indent=on&version=2.2&wt=json} {commit=}
> 0 44
> 
> [... More Pings ... ]
> ----------------------
> 
> LOG of 3 other instances :
> ----------------------
> 2773666 [qtp1781256139-11] INFO  org.apache.solr.core.SolrCore  –
> [mycollection] webapp=/solr path=/admin/ping params={} status=0 QTime=2
> 2774531 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> start
> commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false}
> 2774531 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  – No
> uncommitted changes. Skipping IW.commit.
> 2774532 [qtp1781256139-18] INFO  org.apache.solr.core.SolrCore  –
> SolrIndexSearcher has not changed - not re-opening:
> org.apache.solr.search.SolrIndexSearcher
> 2774533 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> end_commit_flush
> 2774533 [qtp1781256139-18] INFO
> org.apache.solr.update.processor.LogUpdateProcessor  – [mycollection]
> webapp=/solr path=/update
> params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from=
> http://192.168.150.90:8983/solr/mycollection/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false}
> {commit=} 0 23
> 2776603 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> start
> commit{,optimize=false,openSearcher=true,waitSearcher=true,expungeDeletes=false,softCommit=false,prepareCommit=false}
> 2776603 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  – No
> uncommitted changes. Skipping IW.commit.
> 2776604 [qtp1781256139-18] INFO  org.apache.solr.core.SolrCore  –
> SolrIndexSearcher has not changed - not re-opening:
> org.apache.solr.search.SolrIndexSearcher
> 2776604 [qtp1781256139-18] INFO  org.apache.solr.update.UpdateHandler  –
> end_commit_flush
> 2776604 [qtp1781256139-18] INFO
> org.apache.solr.update.processor.LogUpdateProcessor  – [mycollection]
> webapp=/solr path=/update
> params={update.distrib=FROMLEADER&waitSearcher=true&openSearcher=true&commit=true&softCommit=false&distrib.from=
> http://192.168.150.90:8983/solr/mycollection/&commit_end_point=true&wt=javabin&version=2&expungeDeletes=false}
> {commit=} 0 2
> 2777428 [qtp1781256139-12] INFO  org.apache.solr.core.SolrCore  –
> [mycollection] webapp=/solr path=/admin/ping params={} hits=0 status=0
> QTime=0
> ----------------------
> 
> 
>> If that isn't feasible, set up a _one_ node "cloud" and get that running
>> and showing as up with your current index. Then use the Collections
>> "ADDREPLICA" command to bring up the other three nodes. All the index
>> synching should then "just happen".
>> 
> 
> Will try that.
> 
> 
>> You're also confusing master/slave replication with SolrCloud. In the
>> normal state, there is no use of the older-style replication, except when a
>> downed or new node comes online. If "peer synch" isn't possible, then old
>> style replication happens, but that should be the only time it's used.
>> Outside those edge cases, updates go to all nodes when sent to any node,
>> otherwise NRT wouldn't work.
>> 
> 
> That's what I understood from the research I made. I just think that I
> missed some config or something that will make replication happen.
> 
> Thanks for your time,
> 
> Marc

Reply via email to