Hi Aaron,

Was the schema created with CQL or the CLI ?

It was created using Pycassa and - as far as I know - it was managed only by CLI.

> (It's not a good idea to manage one with the other)

Yes, I know - I only tried using CQL after I realized that CLI is not working, as I had to make it work (which didn't happen, though ;-) ) because my secondary index was returning wrong results and I wasn't able to rebuild it. However, I can't tell for sure that no-one else has ever modified it using CQL before.

Can you provide the schema after the update and the update cf statement?

Update CF statement? I'm not updating it, I'm just trying to drop the index using DROP statement:

cli:   DROP INDEX ON Users.username;
cqlsh: DROP INDEX Users_username_idx;

No other updates have been made.
Here's the Users CF schema printed by CLI:

[default@production] describe Users;
    ColumnFamily: Users
      Key Validation Class: org.apache.cassandra.db.marshal.LexicalUUIDType
Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
      Columns sorted by: org.apache.cassandra.db.marshal.AsciiType
      GC grace seconds: 864000
      Compaction min/max thresholds: 4/32
      Read repair chance: 1.0
      DC Local Read repair chance: 0.0
      Replicate on write: true
      Caching: KEYS_ONLY
      Bloom Filter FP chance: default
Built indexes: [Users.Users_active_idx, Users.Users_email_idx, Users.Users_username_idx]
      Column Metadata:
        Column Name: date_created
          Validation Class: org.apache.cassandra.db.marshal.LongType
        Column Name: active
          Validation Class: org.apache.cassandra.db.marshal.IntegerType
          Index Name: Users_active_idx
          Index Type: KEYS
        Column Name: email
          Validation Class: org.apache.cassandra.db.marshal.UTF8Type
          Index Name: Users_email_idx
          Index Type: KEYS
        Column Name: username
          Validation Class: org.apache.cassandra.db.marshal.UTF8Type
          Index Name: Users_username_idx
          Index Type: KEYS
        Column Name: default_account_id
          Validation Class: org.apache.cassandra.db.marshal.LexicalUUIDType
Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
      Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor

CQL says (and shows a notification):

/usr/lib/pymodules/python2.7/cqlshlib/cql3handling.py:1519: UnexpectedTableStructure: Unexpected table structure; may not translate correctly to CQL. Compact storage CF Users has no column aliases, but comparator is not UTF8Type.

CREATE TABLE "Users" (
  key 'org.apache.cassandra.db.marshal.LexicalUUIDType' PRIMARY KEY,
  active varint,
  date_created bigint,
  default_account_id 'org.apache.cassandra.db.marshal.LexicalUUIDType',
  email text,
  username text
) WITH COMPACT STORAGE AND
  bloom_filter_fp_chance=0.010000 AND
  caching='KEYS_ONLY' AND
  comment='' AND
  dclocal_read_repair_chance=0.000000 AND
  gc_grace_seconds=864000 AND
  read_repair_chance=1.000000 AND
  replicate_on_write='true' AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'SnappyCompressor'};

CREATE INDEX Users_active_idx ON "Users" (active);

CREATE INDEX Users_email_idx ON "Users" (email);

CREATE INDEX Users_username_idx ON "Users" (username);


M.

Reply via email to