cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthew F. Dennis (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-3057) secondary index on a column that has a value of size > 64k will fail on flush
Date Thu, 18 Aug 2011 22:12:27 GMT


Matthew F. Dennis commented on CASSANDRA-3057:

+1 on validation approach (rejecting indexed values > max column name size) + useful error
message "can't index column value of size A for index B in CF C of KS D" instead of "assertion

for durability of previous conversations: the problem is the value in a column ends up as
the name in a the index column family.  So, if you try to index a value that is greater than
the max column name size it is not handled well.

> secondary index on a column that has a value of size > 64k will fail on flush
> -----------------------------------------------------------------------------
>                 Key: CASSANDRA-3057
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jackson Chung
>            Assignee: Pavel Yaskevich
>            Priority: Minor
> exception seen on flush when an indexed column contain size > 64k:
> granted that having a value > 64k possibly mean something that shouldn't be indexed
as it most likely would have a high cardinality, but i think there would still be some valid
use case for it.
> test case:
> simply run the stress test with 
> -n 1 -u 0 -c 2  -y Standard  -o INSERT  -S 65536 -x KEYS
> then call a flush
> exception:
>  INFO [FlushWriter:8] 2011-08-18 21:49:33,214 (line 218) Writing Memtable-Standard1.Idx1@1652462853(16/20
serialized/live bytes, 1 ops)
> Standard1@980087547(196659/245823 serialized/live bytes, 3 ops)
> ERROR [FlushWriter:8] 2011-08-18 21:49:33,230 (line 133)
Fatal exception in thread Thread[FlushWriter:8,5,RMI Runtime]
> java.lang.AssertionError: 65536
>         at org.apache.cassandra.utils.ByteBufferUtil.writeWithShortLength(
>         at
>         at org.apache.cassandra.db.Memtable.writeSortedContents(
>         at org.apache.cassandra.db.Memtable.access$400(
>         at org.apache.cassandra.db.Memtable$3.runMayThrow(
>         at
>         at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
>         at java.util.concurrent.ThreadPoolExecutor$
>         at

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message