cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christoph Tavan (Commented) (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-3982) Explore not returning range ghosts
Date Tue, 17 Apr 2012 10:59:18 GMT


Christoph Tavan commented on CASSANDRA-3982:

When working on the helenus driver for node.js I was stumbling upon this problem recently.
I was experiencing that for "static" column families I was getting not only row- but also
column-ghosts. See this example that uses {{cqlsh -3}} from the 1.1.0-rc1 release:

$ cqlsh -3
Connected to Test Cluster at localhost:9160.
[cqlsh 2.2.0 | Cassandra 1.1.0~rc1 | CQL spec 3.0.0 | Thrift protocol 19.30.0]
Use HELP for help.
cqlsh> CREATE KEYSPACE helenus_cql3_test WITH strategy_class=SimpleStrategy AND strategy_options:replication_factor=1;
cqlsh> USE helenus_cql3_test ;
cqlsh:helenus_cql3_test> CREATE COLUMNFAMILY cql_test (id text, foo text, PRIMARY KEY (id));
cqlsh:helenus_cql3_test> UPDATE cql_test SET foo='bar' WHERE id='foobar';
cqlsh:helenus_cql3_test> SELECT * FROM cql_test;
 id     | foo
 foobar | bar

cqlsh:helenus_cql3_test> DELETE FROM cql_test WHERE id='foobar';
cqlsh:helenus_cql3_test> SELECT * FROM cql_test;
 id     | foo
 foobar | null

As you can see the result contains not only the primary key (i.e. the row key) as a ghost,
but all columns that have been defined in the schema are also contained with a value of null.

I think it would be highly desirable if ghosts would just never pop up in any CQL result.
> Explore not returning range ghosts
> ----------------------------------
>                 Key: CASSANDRA-3982
>                 URL:
>             Project: Cassandra
>          Issue Type: Sub-task
>          Components: API
>            Reporter: Sylvain Lebresne
>             Fix For: 1.2
> This ticket proposes to remove range ghosts in CQL3.
> The basic argument is that range ghosts confuses users a lot and don't add any value
since range ghost don't allow to distinguish between the two following case:
> * the row is deleted
> * the row is not deleted but don't have data for the provided filter

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message