incubator-cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aaron morton <aa...@thelastpickle.com>
Subject Re: dropping secondary indexes
Date Wed, 17 Aug 2011 23:13:59 GMT
ooo, didn't know there was a drop index statement. 

I got the same result, the Antlr grammar seems to say it's a valid identifier (not that I
have much Antlr foo)…


Identifier
    : (Letter | Alnum) (Alnum | '_' | '-' )*

fragment
Letter
    : 'a'..'z' 
    | 'A'..'Z'
    ;

fragment
Digit
    : '0'..'9'
    ;

fragment
Alnum
    : Letter
    | Digit
    ;

Could you raise a bug for it. 

In the mean time I was able to drop the index as follows…

create column family Standard4
    with comparator = BytesType
    and column_metadata =
    [{
        column_name : 617070,
        validation_class : IntegerType,
        index_type : 0,
        index_name : IdxName},
    {
        column_name : 'other name',
        validation_class : LongType
    }];

    update column family Standard4
    with comparator = BytesType
    and column_metadata =
    [
    {
        column_name : 'other name',
        validation_class : LongType
    }];
    

Cheers
 
-----------------
Aaron Morton
Freelance Cassandra Developer
@aaronmorton
http://www.thelastpickle.com

On 18/08/2011, at 3:16 AM, Dan Kuebrich wrote:

> Thanks, Aaron!  In terms of dropping stuff from the CLI, I tried to re-drop the remaining
built column index and get the following error message.  I wonder if there's some sort of
parser bug related to numeric vs alpha tokens.  The column name below is col2 from the show
keyspace dump earlier in the thread, though I understand the hex value should be used for
dropping columns.
> 
> [default@Tracelytics] use MyKeyspace;
> Authenticated to keyspace: MyKeyspace
> [default@Tracelytics] drop index on MyCF.617070; 
> Syntax error at position 22: mismatched input '617070' expecting Identifier
> 
> CLI drop index worked for all the columns with hex letters in them, and in fact adding
an alpha char here changes the message:
> 
> [default@Tracelytics] drop index on MyCF.617070x;
> Column '617070x' definition was not found in ColumnFamily 'MyCF'.
> [default@Tracelytics] drop index on Rollups.col2;
> Column 'col2' definition was not found in ColumnFamily 'MyCF'.
> 
> 
> On Tue, Aug 16, 2011 at 7:29 PM, aaron morton <aaron@thelastpickle.com> wrote:
> > I think I've dropped all the indexes on a CF, but I see traces of them in the CLI
output of show keyspaces.  I see a few validators left behind, and one "built index".  (output
below)
> What process did you use to drop the indexes ? You need to use  update column family
and not include the column meta data.
> 
> > 1. Is there a better way to check schema for indexes?
> Thats the way. You can also look in JConsole. If you see things that seem odd check the
cluster agrees on the schema using describe cluster in the CLI.
> 
> > 3. Do validators incur any performance penalties?  They're no longer necessary (the
named columns are not even written anymore).
> 
> There is a minor over head, but only if the named column is updated.
> 
> Cheers
> 
> -----------------
> Aaron Morton
> Freelance Cassandra Developer
> @aaronmorton
> http://www.thelastpickle.com
> 
> On 17/08/2011, at 2:12 AM, Dan Kuebrich wrote:
> 
> > I think I've dropped all the indexes on a CF, but I see traces of them in the CLI
output of show keyspaces.  I see a few validators left behind, and one "built index".  (output
below)
> >
> > 1. Is there a better way to check schema for indexes?
> > 2. I can't drop the "built" one so I assume they're all gone?  If so, what is the
remaining index listing?
> > 3. Do validators incur any performance penalties?  They're no longer necessary (the
named columns are not even written anymore).
> >
> >     ColumnFamily: MyCF
> >       Key Validation Class: org.apache.cassandra.db.marshal.BytesType
> >       Default column value validator: org.apache.cassandra.db.marshal.BytesType
> >       Columns sorted by: org.apache.cassandra.db.marshal.BytesType
> >       Row cache size / save period in seconds: 2000.0/0
> >       Key cache size / save period in seconds: 200000.0/14400
> >       Memtable thresholds: 1.1203125/1440/239 (millions of ops/minutes/MB)
> >       GC grace seconds: 864000
> >       Compaction min/max thresholds: 4/32
> >       Read repair chance: 1.0
> >       Replicate on write: false
> >       Built indexes: [MyCF.MyCF_617070_idx]
> >       Column Metadata:
> >         Column Name: col1 (6167656e74)
> >           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
> >         Column Name: col2 (617070)
> >           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
> >           Index Name: MyCF_617070_idx
> >           Index Type: KEYS
> >         Column Name: col3 (686f7374)
> >           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
> >         Column Name: col4 (686f73745f6964)
> >           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
> >         Column Name: col5 (696d706c)
> >           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
> >         Column Name: col6 (706572696f64)
> >           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
> 
> 


Mime
View raw message