You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@cassandra.apache.org by "Desimpel, Ignace" <Ig...@nuance.com> on 2013/02/07 10:39:03 UTC

Directory structure after upgrading 1.0.8 to 1.2.1

After upgrading from 1.0.8 I see that now the directory structure has changed and has a structure like <keyspace><columnfamily> (part of the 1.1.x migration).
But I also see that directories appear like <keyspace><columnfamily-old>, and the content of that 'old' directory is only one file <columnfamily-old.json>.

Questions :
Should this xxx-old.json file be in the other directory?
Should the extra directory <xxx-old> not be created?
Or was that intentionally done and is it allowed to remove these directories ( manually ... )?

Thanks

Re: Directory structure after upgrading 1.0.8 to 1.2.1

Posted by aaron morton <aa...@thelastpickle.com>.
I think it's a little more subtle that that https://issues.apache.org/jira/browse/CASSANDRA-5242

Cheers


-----------------
Aaron Morton
Freelance Cassandra Developer
New Zealand

@aaronmorton
http://www.thelastpickle.com

On 8/02/2013, at 10:21 PM, "Desimpel, Ignace" <Ig...@nuance.com> wrote:

> Yes it are new directories. I did some debugging …
> The Cassandra code is org.apache.cassandra.db.Directories::migrateFile.
> It is detecting that it is a manifest (based on the .json extension).
> But then it does not take in account that something like <MyColumnFamily-old.json> can exist. Then it is using <MyColumnFamily-old> as a directory name in a call to a function destDir = getOrCreate(ksDir, dirname, additionalPath), while it should be < MyColumnFamily>.
>  
> So I guess that the cfname computation should be adapted to include the “-old.json” manifest files.
>  
> Ignace
>  
> From: aaron morton [mailto:aaron@thelastpickle.com] 
> Sent: vrijdag 8 februari 2013 03:09
> To: user@cassandra.apache.org
> Subject: Re: Directory structure after upgrading 1.0.8 to 1.2.1
>  
> the -old.json is an artefact of Levelled Compaction. 
>  
> You should see a non -old file in the current CF folder. 
>  
> I'm not sure what would have created the -old CF dir. Does the timestamp indicate it was created the time the server first started as a 1.2 node?
>  
> Cheers
>  
>  
> -----------------
> Aaron Morton
> Freelance Cassandra Developer
> New Zealand
>  
> @aaronmorton
> http://www.thelastpickle.com
>  
> On 7/02/2013, at 10:39 PM, "Desimpel, Ignace" <Ig...@nuance.com> wrote:
> 
> 
> After upgrading from 1.0.8 I see that now the directory structure has changed and has a structure like <keyspace><columnfamily> (part of the 1.1.x migration).
> But I also see that directories appear like <keyspace><columnfamily-old>, and the content of that ‘old’ directory is only one file <columnfamily-old.json>.
>  
> Questions :
> Should this xxx-old.json file be in the other directory?
> Should the extra directory <xxx-old> not be created?
> Or was that intentionally done and is it allowed to remove these directories ( manually … )?
>  
> Thanks


RE: Directory structure after upgrading 1.0.8 to 1.2.1

Posted by "Desimpel, Ignace" <Ig...@nuance.com>.
Yes it are new directories. I did some debugging ...
The Cassandra code is org.apache.cassandra.db.Directories::migrateFile.
It is detecting that it is a manifest (based on the .json extension).
But then it does not take in account that something like <MyColumnFamily-old.json> can exist. Then it is using <MyColumnFamily-old> as a directory name in a call to a function destDir = getOrCreate(ksDir, dirname, additionalPath), while it should be < MyColumnFamily>.

So I guess that the cfname computation should be adapted to include the "-old.json" manifest files.

Ignace

From: aaron morton [mailto:aaron@thelastpickle.com]
Sent: vrijdag 8 februari 2013 03:09
To: user@cassandra.apache.org
Subject: Re: Directory structure after upgrading 1.0.8 to 1.2.1

the -old.json is an artefact of Levelled Compaction.

You should see a non -old file in the current CF folder.

I'm not sure what would have created the -old CF dir. Does the timestamp indicate it was created the time the server first started as a 1.2 node?

Cheers


-----------------
Aaron Morton
Freelance Cassandra Developer
New Zealand

@aaronmorton
http://www.thelastpickle.com

On 7/02/2013, at 10:39 PM, "Desimpel, Ignace" <Ig...@nuance.com>> wrote:


After upgrading from 1.0.8 I see that now the directory structure has changed and has a structure like <keyspace><columnfamily> (part of the 1.1.x migration).
But I also see that directories appear like <keyspace><columnfamily-old>, and the content of that 'old' directory is only one file <columnfamily-old.json>.

Questions :
Should this xxx-old.json file be in the other directory?
Should the extra directory <xxx-old> not be created?
Or was that intentionally done and is it allowed to remove these directories ( manually ... )?

Thanks


Re: Directory structure after upgrading 1.0.8 to 1.2.1

Posted by aaron morton <aa...@thelastpickle.com>.
the -old.json is an artefact of Levelled Compaction. 

You should see a non -old file in the current CF folder. 

I'm not sure what would have created the -old CF dir. Does the timestamp indicate it was created the time the server first started as a 1.2 node?

Cheers


-----------------
Aaron Morton
Freelance Cassandra Developer
New Zealand

@aaronmorton
http://www.thelastpickle.com

On 7/02/2013, at 10:39 PM, "Desimpel, Ignace" <Ig...@nuance.com> wrote:

> After upgrading from 1.0.8 I see that now the directory structure has changed and has a structure like <keyspace><columnfamily> (part of the 1.1.x migration).
> But I also see that directories appear like <keyspace><columnfamily-old>, and the content of that ‘old’ directory is only one file <columnfamily-old.json>.
>  
> Questions :
> Should this xxx-old.json file be in the other directory?
> Should the extra directory <xxx-old> not be created?
> Or was that intentionally done and is it allowed to remove these directories ( manually … )?
>  
> Thanks