cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Yuki Morishita (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-4031) Exceptions during inserting emtpy string as column value on indexed column
Date Mon, 12 Mar 2012 22:46:40 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-4031?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13228015#comment-13228015
] 

Yuki Morishita commented on CASSANDRA-4031:
-------------------------------------------

Same error happens when performing searching for empty value(='') on indexed column.

I agree with Sylvain, empty row key should not be allowed. But for version 1.1, I think it
is fine to use empty row key on secondary indices, otherwise we have to perform full data
scan and filter out all that have empty value on indexed column(or refuse query which has
"=''").

I will fix this by adding empty key DK only for secondary index.
                
> Exceptions during inserting emtpy string as column value on indexed column
> --------------------------------------------------------------------------
>
>                 Key: CASSANDRA-4031
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4031
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Mariusz
>            Assignee: Yuki Morishita
>
> Hi,
> I`m running one node cluster(issue occurs also on other cluster(which has 2 nodes)) on
snapshot from cassandra-1.1 branch(i used 449e037195c3c504d7aca5088e8bc7bd5a50e7d0 commit).
> i have simple CF, definition of TestCF:
> {noformat}
> [default@test_keyspace] describe Test_CF;
>     ColumnFamily: Test_CF
>       Key Validation Class: org.apache.cassandra.db.marshal.UTF8Type
>       Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>       Columns sorted by: org.apache.cassandra.db.marshal.UTF8Type
>       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: [Test_CF.Test_CF_test_index_idx]
>       Column Metadata:
>         Column Name: test_index
>           Validation Class: org.apache.cassandra.db.marshal.UTF8Type
>           Index Name: Test_CF_test_index_idx
>           Index Type: KEYS
>       Compaction Strategy: org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy
>       Compression Options:
>         sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> I`m trying to add new row(log from cassandra-cli, note that there is index on test_index):
> {noformat}
> [default@test_keyspace] list Test_CF;              
> Using default limit of 100
> 0 Row Returned.
> Elapsed time: 31 msec(s).
> [default@test_keyspace] set Test_CF[absdsad3][test_index]='';
> null
> TimedOutException()
> 	at org.apache.cassandra.thrift.Cassandra$insert_result.read(Cassandra.java:15906)
> 	at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
> 	at org.apache.cassandra.thrift.Cassandra$Client.recv_insert(Cassandra.java:788)
> 	at org.apache.cassandra.thrift.Cassandra$Client.insert(Cassandra.java:772)
> 	at org.apache.cassandra.cli.CliClient.executeSet(CliClient.java:894)
> 	at org.apache.cassandra.cli.CliClient.executeCLIStatement(CliClient.java:211)
> 	at org.apache.cassandra.cli.CliMain.processStatementInteractive(CliMain.java:219)
> 	at org.apache.cassandra.cli.CliMain.main(CliMain.java:346)
> [default@test_keyspace] list Test_CF;                        
> Using default limit of 100
> -------------------
> RowKey: absdsad3
> => (column=test_index, value=, timestamp=1331298173009000)
> 1 Row Returned.
> Elapsed time: 7 msec(s).
> {noformat}
> Exception from system.log:
> {noformat}
>  INFO [FlushWriter:56] 2012-03-09 13:42:02,500 Memtable.java (line 291) Completed flushing
/var/lib/cassandra/data/system/schema_columnfamilies/system-schema_columnfamilies-hc-3251-Data.db
(2077 bytes)
> ERROR [MutationStage:2291] 2012-03-09 13:42:22,232 AbstractCassandraDaemon.java (line
134) Exception in thread Thread[MutationStage:2291,5,main]
> java.lang.AssertionError
>         at org.apache.cassandra.db.DecoratedKey.<init>(DecoratedKey.java:55)
>         at org.apache.cassandra.db.index.SecondaryIndexManager.getIndexKeyFor(SecondaryIndexManager.java:294)
>         at org.apache.cassandra.db.index.SecondaryIndexManager.applyIndexUpdates(SecondaryIndexManager.java:490)
>         at org.apache.cassandra.db.Table.apply(Table.java:441)
>         at org.apache.cassandra.db.Table.apply(Table.java:366)
>         at org.apache.cassandra.db.RowMutation.apply(RowMutation.java:275)
>         at org.apache.cassandra.service.StorageProxy$6.runMayThrow(StorageProxy.java:446)
>         at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1228)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message