You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by Nitin Borwankar <ni...@borwankar.com> on 2009/05/24 11:13:48 UTC

migrating data from a previous couch version

Hi guys,

This a rather strange situation but I need to get out of it :-)

I had a few Gig of data in a 0.9axxxxxx version.
I wanted to upgrade couch to 0.9 tarball when it was released.
I wasn't sure how it would go so I made a filesystem level backup of the
data directories.

Then when 0.9 installed and was running fine I copied one of the databases
from the old backed up dir to the new 0.9 couch's data dir.
I got a "bad version" error from which I gather that the older version data
is somehow not binary compatible with the newer one.
I don't have a running older version couch - and it was installed from src
anyway and I have no idea what minor rev of 0.9a it was.

So how do I recover the old data from my files and upload it to the new
version.
Any ideas ?

There's a lot of data in there and I absolutely need to get it out - help!

Nitin

37% of all statistics are made up on the spot
-------------------------------------------------------------------------------------
Nitin Borwankar
nborwankar@gmail.com

Re: migrating data from a previous couch version

Posted by Nitin Borwankar <ni...@borwankar.com>.
Both intel. So Ill try it. Thanks again. Nitin
Sent from my mobile internet device

-----Original Message-----
From: Paul Davis <pa...@gmail.com>

Date: Sun, 24 May 2009 14:48:00 
To: <us...@couchdb.apache.org>; <nb...@gmail.com>
Subject: Re: migrating data from a previous couch version


I'm not at all certain and I could see it going either way. But
assuming both architectures are Intel I would hazard a guess to say
that it'd be fine. If you Mac is PPC then I'd lean towards it not
working. But my endian-fu is not what it used to be. Also, this is
assuming that the Erlang binary format doesn't take care of endianess
and I haven't looked. It could be that everything is already stored in
network byte order and it wouldn't make a bit of difference.

Bottom line, I'd give it a shot.

Paul

On Sun, May 24, 2009 at 2:41 PM,  <nb...@gmail.com> wrote:
> Is the format platform independent?  Can I do all this on muy mac altho the data was orig created on ubuntu? Nitin
> Sent via BlackBerry by AT&T
>
> -----Original Message-----
> From: Paul Davis <pa...@gmail.com>
>
> Date: Sun, 24 May 2009 13:08:19
> To: <us...@couchdb.apache.org>
> Subject: Re: migrating data from a previous couch version
>
>
> Nitin,
>
> I would just pull a version of the subversion repository a couple
> revisions before 753448. We didn't break the format twice or anything
> so the fact that it doesn't work probably means that you had one prior
> to that commit.
>
> I'm pretty certain that was the commit that introduced the versioning
> information so I can't point at anything better.
>
> Paul Davis
>
> On Sun, May 24, 2009 at 1:02 PM, Nitin Borwankar <ni...@borwankar.com> wrote:
>> Paul Davis wrote:
>>>
>>> Nitin,
>>>
>>> There's some info on how to upgrade on the wiki at [1] and [2]. If
>>> your 0.9aXXXXXX version has XXXXXX < 753448 you'll need to use the
>>> Ruby script at [2]. Otherwise you should be able to use couchdb-dump
>>> and couchdb-load from couchdb-python or run two couchdb nodes and
>>> replicate from the old version to the new version. If you're two
>>> versions span that commit then you must use the Ruby script because
>>> replication changes as well.
>>>
>>> Paul Davis
>>>
>>
>>
>> Hi Paul,
>>
>> Thanks much for those links and I hope to get to the point where I can use
>> them.  Currenty I only have my data in files with
>> a) no older couch instance running and what's worse,
>> b) no idea what version I was running in my old couch, although I know it
>> was a 0.9a<something> from trunk.
>>
>> so I guess my question becomes
>>
>> a) how do I know just from the database binary files what exact couch
>> version created them   - is there some util or a specific set of bytes in
>> the header or
>> some voodoo that I can use and then I can go install that specific couch
>> version from src.  Then use the database dump/load scripts.
>>
>> Nitin
>>>
>>> [1] http://wiki.apache.org/couchdb/Breaking_changes
>>> [2] http://wiki.apache.org/couchdb/BreakingChangesUpdateTrunkTo0Dot9
>>>
>>>
>>> On Sun, May 24, 2009 at 5:13 AM, Nitin Borwankar <ni...@borwankar.com>
>>> wrote:
>>>
>>>>
>>>> Hi guys,
>>>>
>>>> This a rather strange situation but I need to get out of it :-)
>>>>
>>>> I had a few Gig of data in a 0.9axxxxxx version.
>>>> I wanted to upgrade couch to 0.9 tarball when it was released.
>>>> I wasn't sure how it would go so I made a filesystem level backup of the
>>>> data directories.
>>>>
>>>> Then when 0.9 installed and was running fine I copied one of the
>>>> databases
>>>> from the old backed up dir to the new 0.9 couch's data dir.
>>>> I got a "bad version" error from which I gather that the older version
>>>> data
>>>> is somehow not binary compatible with the newer one.
>>>> I don't have a running older version couch - and it was installed from
>>>> src
>>>> anyway and I have no idea what minor rev of 0.9a it was.
>>>>
>>>> So how do I recover the old data from my files and upload it to the new
>>>> version.
>>>> Any ideas ?
>>>>
>>>> There's a lot of data in there and I absolutely need to get it out -
>>>> help!
>>>>
>>>> Nitin
>>>>
>>>> 37% of all statistics are made up on the spot
>>>>
>>>> -------------------------------------------------------------------------------------
>>>> Nitin Borwankar
>>>> nborwankar@gmail.com
>>>>
>>>>
>>
>>
>

Re: migrating data from a previous couch version

Posted by Paul Davis <pa...@gmail.com>.
I'm not at all certain and I could see it going either way. But
assuming both architectures are Intel I would hazard a guess to say
that it'd be fine. If you Mac is PPC then I'd lean towards it not
working. But my endian-fu is not what it used to be. Also, this is
assuming that the Erlang binary format doesn't take care of endianess
and I haven't looked. It could be that everything is already stored in
network byte order and it wouldn't make a bit of difference.

Bottom line, I'd give it a shot.

Paul

On Sun, May 24, 2009 at 2:41 PM,  <nb...@gmail.com> wrote:
> Is the format platform independent?  Can I do all this on muy mac altho the data was orig created on ubuntu? Nitin
> Sent via BlackBerry by AT&T
>
> -----Original Message-----
> From: Paul Davis <pa...@gmail.com>
>
> Date: Sun, 24 May 2009 13:08:19
> To: <us...@couchdb.apache.org>
> Subject: Re: migrating data from a previous couch version
>
>
> Nitin,
>
> I would just pull a version of the subversion repository a couple
> revisions before 753448. We didn't break the format twice or anything
> so the fact that it doesn't work probably means that you had one prior
> to that commit.
>
> I'm pretty certain that was the commit that introduced the versioning
> information so I can't point at anything better.
>
> Paul Davis
>
> On Sun, May 24, 2009 at 1:02 PM, Nitin Borwankar <ni...@borwankar.com> wrote:
>> Paul Davis wrote:
>>>
>>> Nitin,
>>>
>>> There's some info on how to upgrade on the wiki at [1] and [2]. If
>>> your 0.9aXXXXXX version has XXXXXX < 753448 you'll need to use the
>>> Ruby script at [2]. Otherwise you should be able to use couchdb-dump
>>> and couchdb-load from couchdb-python or run two couchdb nodes and
>>> replicate from the old version to the new version. If you're two
>>> versions span that commit then you must use the Ruby script because
>>> replication changes as well.
>>>
>>> Paul Davis
>>>
>>
>>
>> Hi Paul,
>>
>> Thanks much for those links and I hope to get to the point where I can use
>> them.  Currenty I only have my data in files with
>> a) no older couch instance running and what's worse,
>> b) no idea what version I was running in my old couch, although I know it
>> was a 0.9a<something> from trunk.
>>
>> so I guess my question becomes
>>
>> a) how do I know just from the database binary files what exact couch
>> version created them   - is there some util or a specific set of bytes in
>> the header or
>> some voodoo that I can use and then I can go install that specific couch
>> version from src.  Then use the database dump/load scripts.
>>
>> Nitin
>>>
>>> [1] http://wiki.apache.org/couchdb/Breaking_changes
>>> [2] http://wiki.apache.org/couchdb/BreakingChangesUpdateTrunkTo0Dot9
>>>
>>>
>>> On Sun, May 24, 2009 at 5:13 AM, Nitin Borwankar <ni...@borwankar.com>
>>> wrote:
>>>
>>>>
>>>> Hi guys,
>>>>
>>>> This a rather strange situation but I need to get out of it :-)
>>>>
>>>> I had a few Gig of data in a 0.9axxxxxx version.
>>>> I wanted to upgrade couch to 0.9 tarball when it was released.
>>>> I wasn't sure how it would go so I made a filesystem level backup of the
>>>> data directories.
>>>>
>>>> Then when 0.9 installed and was running fine I copied one of the
>>>> databases
>>>> from the old backed up dir to the new 0.9 couch's data dir.
>>>> I got a "bad version" error from which I gather that the older version
>>>> data
>>>> is somehow not binary compatible with the newer one.
>>>> I don't have a running older version couch - and it was installed from
>>>> src
>>>> anyway and I have no idea what minor rev of 0.9a it was.
>>>>
>>>> So how do I recover the old data from my files and upload it to the new
>>>> version.
>>>> Any ideas ?
>>>>
>>>> There's a lot of data in there and I absolutely need to get it out -
>>>> help!
>>>>
>>>> Nitin
>>>>
>>>> 37% of all statistics are made up on the spot
>>>>
>>>> -------------------------------------------------------------------------------------
>>>> Nitin Borwankar
>>>> nborwankar@gmail.com
>>>>
>>>>
>>
>>
>

Re: migrating data from a previous couch version

Posted by nb...@gmail.com.
Is the format platform independent?  Can I do all this on muy mac altho the data was orig created on ubuntu? Nitin
Sent via BlackBerry by AT&T

-----Original Message-----
From: Paul Davis <pa...@gmail.com>

Date: Sun, 24 May 2009 13:08:19 
To: <us...@couchdb.apache.org>
Subject: Re: migrating data from a previous couch version


Nitin,

I would just pull a version of the subversion repository a couple
revisions before 753448. We didn't break the format twice or anything
so the fact that it doesn't work probably means that you had one prior
to that commit.

I'm pretty certain that was the commit that introduced the versioning
information so I can't point at anything better.

Paul Davis

On Sun, May 24, 2009 at 1:02 PM, Nitin Borwankar <ni...@borwankar.com> wrote:
> Paul Davis wrote:
>>
>> Nitin,
>>
>> There's some info on how to upgrade on the wiki at [1] and [2]. If
>> your 0.9aXXXXXX version has XXXXXX < 753448 you'll need to use the
>> Ruby script at [2]. Otherwise you should be able to use couchdb-dump
>> and couchdb-load from couchdb-python or run two couchdb nodes and
>> replicate from the old version to the new version. If you're two
>> versions span that commit then you must use the Ruby script because
>> replication changes as well.
>>
>> Paul Davis
>>
>
>
> Hi Paul,
>
> Thanks much for those links and I hope to get to the point where I can use
> them.  Currenty I only have my data in files with
> a) no older couch instance running and what's worse,
> b) no idea what version I was running in my old couch, although I know it
> was a 0.9a<something> from trunk.
>
> so I guess my question becomes
>
> a) how do I know just from the database binary files what exact couch
> version created them   - is there some util or a specific set of bytes in
> the header or
> some voodoo that I can use and then I can go install that specific couch
> version from src.  Then use the database dump/load scripts.
>
> Nitin
>>
>> [1] http://wiki.apache.org/couchdb/Breaking_changes
>> [2] http://wiki.apache.org/couchdb/BreakingChangesUpdateTrunkTo0Dot9
>>
>>
>> On Sun, May 24, 2009 at 5:13 AM, Nitin Borwankar <ni...@borwankar.com>
>> wrote:
>>
>>>
>>> Hi guys,
>>>
>>> This a rather strange situation but I need to get out of it :-)
>>>
>>> I had a few Gig of data in a 0.9axxxxxx version.
>>> I wanted to upgrade couch to 0.9 tarball when it was released.
>>> I wasn't sure how it would go so I made a filesystem level backup of the
>>> data directories.
>>>
>>> Then when 0.9 installed and was running fine I copied one of the
>>> databases
>>> from the old backed up dir to the new 0.9 couch's data dir.
>>> I got a "bad version" error from which I gather that the older version
>>> data
>>> is somehow not binary compatible with the newer one.
>>> I don't have a running older version couch - and it was installed from
>>> src
>>> anyway and I have no idea what minor rev of 0.9a it was.
>>>
>>> So how do I recover the old data from my files and upload it to the new
>>> version.
>>> Any ideas ?
>>>
>>> There's a lot of data in there and I absolutely need to get it out -
>>> help!
>>>
>>> Nitin
>>>
>>> 37% of all statistics are made up on the spot
>>>
>>> -------------------------------------------------------------------------------------
>>> Nitin Borwankar
>>> nborwankar@gmail.com
>>>
>>>
>
>

Re: migrating data from a previous couch version

Posted by Paul Davis <pa...@gmail.com>.
Nitin,

I would just pull a version of the subversion repository a couple
revisions before 753448. We didn't break the format twice or anything
so the fact that it doesn't work probably means that you had one prior
to that commit.

I'm pretty certain that was the commit that introduced the versioning
information so I can't point at anything better.

Paul Davis

On Sun, May 24, 2009 at 1:02 PM, Nitin Borwankar <ni...@borwankar.com> wrote:
> Paul Davis wrote:
>>
>> Nitin,
>>
>> There's some info on how to upgrade on the wiki at [1] and [2]. If
>> your 0.9aXXXXXX version has XXXXXX < 753448 you'll need to use the
>> Ruby script at [2]. Otherwise you should be able to use couchdb-dump
>> and couchdb-load from couchdb-python or run two couchdb nodes and
>> replicate from the old version to the new version. If you're two
>> versions span that commit then you must use the Ruby script because
>> replication changes as well.
>>
>> Paul Davis
>>
>
>
> Hi Paul,
>
> Thanks much for those links and I hope to get to the point where I can use
> them.  Currenty I only have my data in files with
> a) no older couch instance running and what's worse,
> b) no idea what version I was running in my old couch, although I know it
> was a 0.9a<something> from trunk.
>
> so I guess my question becomes
>
> a) how do I know just from the database binary files what exact couch
> version created them   - is there some util or a specific set of bytes in
> the header or
> some voodoo that I can use and then I can go install that specific couch
> version from src.  Then use the database dump/load scripts.
>
> Nitin
>>
>> [1] http://wiki.apache.org/couchdb/Breaking_changes
>> [2] http://wiki.apache.org/couchdb/BreakingChangesUpdateTrunkTo0Dot9
>>
>>
>> On Sun, May 24, 2009 at 5:13 AM, Nitin Borwankar <ni...@borwankar.com>
>> wrote:
>>
>>>
>>> Hi guys,
>>>
>>> This a rather strange situation but I need to get out of it :-)
>>>
>>> I had a few Gig of data in a 0.9axxxxxx version.
>>> I wanted to upgrade couch to 0.9 tarball when it was released.
>>> I wasn't sure how it would go so I made a filesystem level backup of the
>>> data directories.
>>>
>>> Then when 0.9 installed and was running fine I copied one of the
>>> databases
>>> from the old backed up dir to the new 0.9 couch's data dir.
>>> I got a "bad version" error from which I gather that the older version
>>> data
>>> is somehow not binary compatible with the newer one.
>>> I don't have a running older version couch - and it was installed from
>>> src
>>> anyway and I have no idea what minor rev of 0.9a it was.
>>>
>>> So how do I recover the old data from my files and upload it to the new
>>> version.
>>> Any ideas ?
>>>
>>> There's a lot of data in there and I absolutely need to get it out -
>>> help!
>>>
>>> Nitin
>>>
>>> 37% of all statistics are made up on the spot
>>>
>>> -------------------------------------------------------------------------------------
>>> Nitin Borwankar
>>> nborwankar@gmail.com
>>>
>>>
>
>

Re: migrating data from a previous couch version

Posted by Nitin Borwankar <ni...@borwankar.com>.
Paul Davis wrote:
> Nitin,
>
> There's some info on how to upgrade on the wiki at [1] and [2]. If
> your 0.9aXXXXXX version has XXXXXX < 753448 you'll need to use the
> Ruby script at [2]. Otherwise you should be able to use couchdb-dump
> and couchdb-load from couchdb-python or run two couchdb nodes and
> replicate from the old version to the new version. If you're two
> versions span that commit then you must use the Ruby script because
> replication changes as well.
>
> Paul Davis
>   


Hi Paul,

Thanks much for those links and I hope to get to the point where I can 
use them.  Currenty I only have my data in files with
a) no older couch instance running and what's worse,
b) no idea what version I was running in my old couch, although I know 
it was a 0.9a<something> from trunk.

so I guess my question becomes

a) how do I know just from the database binary files what exact couch 
version created them   - is there some util or a specific set of bytes 
in the header or
some voodoo that I can use and then I can go install that specific couch 
version from src.  Then use the database dump/load scripts.

Nitin
> [1] http://wiki.apache.org/couchdb/Breaking_changes
> [2] http://wiki.apache.org/couchdb/BreakingChangesUpdateTrunkTo0Dot9
>
>
> On Sun, May 24, 2009 at 5:13 AM, Nitin Borwankar <ni...@borwankar.com> wrote:
>   
>> Hi guys,
>>
>> This a rather strange situation but I need to get out of it :-)
>>
>> I had a few Gig of data in a 0.9axxxxxx version.
>> I wanted to upgrade couch to 0.9 tarball when it was released.
>> I wasn't sure how it would go so I made a filesystem level backup of the
>> data directories.
>>
>> Then when 0.9 installed and was running fine I copied one of the databases
>> from the old backed up dir to the new 0.9 couch's data dir.
>> I got a "bad version" error from which I gather that the older version data
>> is somehow not binary compatible with the newer one.
>> I don't have a running older version couch - and it was installed from src
>> anyway and I have no idea what minor rev of 0.9a it was.
>>
>> So how do I recover the old data from my files and upload it to the new
>> version.
>> Any ideas ?
>>
>> There's a lot of data in there and I absolutely need to get it out - help!
>>
>> Nitin
>>
>> 37% of all statistics are made up on the spot
>> -------------------------------------------------------------------------------------
>> Nitin Borwankar
>> nborwankar@gmail.com
>>
>>     


Re: migrating data from a previous couch version

Posted by Paul Davis <pa...@gmail.com>.
Nitin,

There's some info on how to upgrade on the wiki at [1] and [2]. If
your 0.9aXXXXXX version has XXXXXX < 753448 you'll need to use the
Ruby script at [2]. Otherwise you should be able to use couchdb-dump
and couchdb-load from couchdb-python or run two couchdb nodes and
replicate from the old version to the new version. If you're two
versions span that commit then you must use the Ruby script because
replication changes as well.

Paul Davis

[1] http://wiki.apache.org/couchdb/Breaking_changes
[2] http://wiki.apache.org/couchdb/BreakingChangesUpdateTrunkTo0Dot9


On Sun, May 24, 2009 at 5:13 AM, Nitin Borwankar <ni...@borwankar.com> wrote:
> Hi guys,
>
> This a rather strange situation but I need to get out of it :-)
>
> I had a few Gig of data in a 0.9axxxxxx version.
> I wanted to upgrade couch to 0.9 tarball when it was released.
> I wasn't sure how it would go so I made a filesystem level backup of the
> data directories.
>
> Then when 0.9 installed and was running fine I copied one of the databases
> from the old backed up dir to the new 0.9 couch's data dir.
> I got a "bad version" error from which I gather that the older version data
> is somehow not binary compatible with the newer one.
> I don't have a running older version couch - and it was installed from src
> anyway and I have no idea what minor rev of 0.9a it was.
>
> So how do I recover the old data from my files and upload it to the new
> version.
> Any ideas ?
>
> There's a lot of data in there and I absolutely need to get it out - help!
>
> Nitin
>
> 37% of all statistics are made up on the spot
> -------------------------------------------------------------------------------------
> Nitin Borwankar
> nborwankar@gmail.com
>