incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <>
Subject Re: Input on difficult migration issue from 0.7.4 to 0.8.2
Date Wed, 03 Aug 2011 02:34:58 GMT
If the bytes are compatible why not just use the existing sstable
files after redefining the schema?

On Tue, Aug 2, 2011 at 8:06 PM, Todd Nine <> wrote:
> Hi all,
>   I seem to have backed myself into a corner and I cannot easily upgrade
> from a custom 0.7.4 installation to the default 0.8.2.  Any help I could get
> would be greatly appreciated.  Below is an outline of the problem.
> Current installation:
> 0.7.4 with Ed Anuff's custom composite comparators.
> CF Comprator Type : "DynamicComposite"
> New installation:
> 0.8.2 with Casasndra's native DynamicComposite column time.
> CF Comparator Type:
> "DynamicComposite(a=>AsciiType,b=>BytesType,i=>IntegerType,x=>LexicalUUIDType,l=>LongType,t=>TimeUUIDType,s=>UTF8Type,u=>UUIDType,A=>AsciiType(reversed=true),B=>BytesType(reversed=true),I=>IntegerType(reversed=true),X=>LexicalUUIDType(reversed=true),L=>LongType(reversed=true),T=>TimeUUIDType(reversed=true),S=>UTF8Type(reversed=true),U=>UUIDType(reversed=true))"
> I cannot simply upgrade Cassandra, this fails because the comparator is
> incorrectly defined for version 0.8.1 and on.  My issue is that the column
> family definition has changed, the bytes that are stored are compatible, I
> simply need to re-define the CF and migrate the column data over.
> Initially I was thinking I could perform a read from the rows and columns
> from a single 0.7 node, then insert them into the 0.8 cluster, however I
> cannot have 2 different versions of the thrift API running in the same java
> JVM due to namespace conflicts.
> Idea is to perform the following steps, if anyone has any better
> suggestions, they would be greatly appreciated.
> 1. Back up all my CFs that use the dynamic composite, and copy the SSTable
> out of my Keyspace's data directory to tmp
> 2. Drop all CFs that use dynamic composite
> 3. Re-create the CFs with the new comparator definition
> 4. Using an external program directly read the 0.7 SSTables (without
> starting the cassandra daemon) and insert the rows and columns into the 0.8
> cluster via thrift.
> Can anyone point me at a good example for reading rows and columns directly
> from the SSTables without using the thrift api?
> Thanks,
> Todd

Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of DataStax, the source for professional Cassandra support

View raw message