You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Shawn Heisey <so...@elyograg.org> on 2010/10/28 04:34:44 UTC

replication not working between 1.4.1 and 3.1-dev

I started to upgrade my slave servers from 1.4.1 to 3.1-dev checked out 
this morning.  Because of SOLR-2034 (new javabin version) the 
replication fails.

Asking about it in comments on SOLR-2034 brought up the suggestion of 
switching to XML instead of javabin, but so far I have not been able to 
figure out how to do this.  I filed a new Jira (SOLR-2204) on the 
replication failure.

Is there any way (through either a config change or minor code changes) 
to make the replication handler use XML?  If I have to make small edits 
to the 1.4.1 source as well as 3.1, that would be OK.

Thanks,
Shawn


Re: replication not working between 1.4.1 and 3.1-dev

Posted by Shawn Heisey <so...@elyograg.org>.
On 10/29/2010 4:33 PM, Shawn Heisey wrote:
> The recommended method of safely upgrading Solr that I've read about 
> is to upgrade slave servers, keeping your production application 
> pointed either at another set of slave servers or your master 
> servers.  Then you test it with a dev copy of your application, and 
> once you're sure it's working, you can switch production traffic over 
> to the upgraded set.  If it falls over, you just switch back to the 
> old version.  Once you're sure it's TRULY working, you upgrade 
> everything else.  To convert fully to the new index format, you have 
> the option of reindexing or optimizing your existing indexes.
>
> I like this method, and this is the way I want to do it, except that 
> the new javabin format makes it impossible.  I need a viable way to 
> replicate indexes from a set of 1.4.1 master servers to 3.1-dev 
> slaves.  Delving into the source and tackling the problem myself is 
> something I would truly love to do, but I lack the necessary skills. 

Since I don't have the java skills required to solve the underlying 
problem, I have come up with a solution in the realm that I do 
understand - my build scripts.  I will update the scripts so that they 
can safely work on the slave machines as well as the masters.  They are 
currently hard-coded to work on the masters.  By turning replication off 
and running the scripts against both server sets, I'll be able to do all 
my testing.

IMHO this incompatibility with replication is a bug that needs to be 
fixed before the official release, which is why I filed SOLR-2204.  I 
have found a way around it, but the workaround might not be a viable 
option for everyone.

Thanks,
Shawn


Re: replication not working between 1.4.1 and 3.1-dev

Posted by Shawn Heisey <so...@elyograg.org>.
On 10/27/2010 8:34 PM, Shawn Heisey wrote:
> I started to upgrade my slave servers from 1.4.1 to 3.1-dev checked 
> out this morning.  Because of SOLR-2034 (new javabin version) the 
> replication fails.
>
> Asking about it in comments on SOLR-2034 brought up the suggestion of 
> switching to XML instead of javabin, but so far I have not been able 
> to figure out how to do this.  I filed a new Jira (SOLR-2204) on the 
> replication failure.
>
> Is there any way (through either a config change or minor code 
> changes) to make the replication handler use XML?  If I have to make 
> small edits to the 1.4.1 source as well as 3.1, that would be OK.

Talking to yourself is probably a sign of mental instability, but I'm 
doing it anyway.  There's been deafening silence from everyone else!

The recommended method of safely upgrading Solr that I've read about is 
to upgrade slave servers, keeping your production application pointed 
either at another set of slave servers or your master servers.  Then you 
test it with a dev copy of your application, and once you're sure it's 
working, you can switch production traffic over to the upgraded set.  If 
it falls over, you just switch back to the old version.  Once you're 
sure it's TRULY working, you upgrade everything else.  To convert fully 
to the new index format, you have the option of reindexing or optimizing 
your existing indexes.

I like this method, and this is the way I want to do it, except that the 
new javabin format makes it impossible.  I need a viable way to 
replicate indexes from a set of 1.4.1 master servers to 3.1-dev slaves.  
Delving into the source and tackling the problem myself is something I 
would truly love to do, but I lack the necessary skills.

I believe this will be a showstopper problem if 3.1 is released in its 
current state.

Are there any clever workarounds that would let me proceed with my 
upgrade now?

Thanks,
Shawn