[
https://issues.apache.org/jira/browse/CASSANDRA-3057?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13087439#comment-13087439
]
Jonathan Ellis commented on CASSANDRA-3057:
-------------------------------------------
We're already looping through ColumnDefinitions for getValueValidator, let's
extract a getColumnDefinition from that so we only do the search once.
> secondary index on a column that has a value of size > 64k will fail on flush
> -----------------------------------------------------------------------------
>
> Key: CASSANDRA-3057
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3057
> Project: Cassandra
> Issue Type: Bug
> Reporter: Jackson Chung
> Assignee: Pavel Yaskevich
> Priority: Minor
> Fix For: 0.8.5
>
> Attachments: CASSANDRA-3057.patch
>
>
> 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 Memtable.java (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 AbstractCassandraDaemon.java
> (line 133) Fatal exception in thread Thread[FlushWriter:8,5,RMI Runtime]
> java.lang.AssertionError: 65536
> at
> org.apache.cassandra.utils.ByteBufferUtil.writeWithShortLength(ByteBufferUtil.java:330)
> at
> org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:164)
> at
> org.apache.cassandra.db.Memtable.writeSortedContents(Memtable.java:245)
> at org.apache.cassandra.db.Memtable.access$400(Memtable.java:49)
> at org.apache.cassandra.db.Memtable$3.runMayThrow(Memtable.java:270)
> at
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
> 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)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira