[ 
https://issues.apache.org/jira/browse/CASSANDRA-460?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-460:
-------------------------------------

    Attachment: 460-2.patch

Committed first patch, which fixes the internal name serialization for column 
names longer than 128 bytes but less than 64k.

This one adds sanity checking to provide nice error messages if a name is 
larger than 64k.

> java.lang.NegativeArraySizeException being thrown for large column names
> ------------------------------------------------------------------------
>
>                 Key: CASSANDRA-460
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-460
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.4
>         Environment: linux
>            Reporter: T Jake Luciani
>         Attachments: 460-2.patch, 460.patch
>
>
> When inserting large columns I'm getting this stacktrace in the cassandra log:
> ERROR [ROW-MUTATION-STAGE:3] 2009-09-26 18:57:02,589 
> DebuggableThreadPoolExecutor.java (line 110) Error in ThreadPoolExecutor
> java.lang.NegativeArraySizeException
>         at 
> org.apache.cassandra.db.ColumnSerializer.readName(ColumnSerializer.java:46)
>         at 
> org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:345)
>         at 
> org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:313)
>         at 
> org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:88)
>         at 
> org.apache.cassandra.db.RowMutationSerializer.defreezeTheMaps(RowMutation.java:313)
>         at 
> org.apache.cassandra.db.RowMutationSerializer.deserialize(RowMutation.java:323)
>         at 
> org.apache.cassandra.db.RowMutationSerializer.deserialize(RowMutation.java:276)
>         at 
> org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:59)
>         at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:39)
>         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:619)
> ERROR [ROW-MUTATION-STAGE:3] 2009-09-26 18:57:02,589 CassandraDaemon.java 
> (line 71) Fatal exception in thread Thread[ROW-MUTATION-STAGE:3,5,main]
> java.lang.NegativeArraySizeException
>         at 
> org.apache.cassandra.db.ColumnSerializer.readName(ColumnSerializer.java:46)
>         at 
> org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:345)
>         at 
> org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:313)
>         at 
> org.apache.cassandra.db.ColumnFamilySerializer.deserialize(ColumnFamilySerializer.java:88)
>         at 
> org.apache.cassandra.db.RowMutationSerializer.defreezeTheMaps(RowMutation.java:313)
>         at 
> org.apache.cassandra.db.RowMutationSerializer.deserialize(RowMutation.java:323)
>         at 
> org.apache.cassandra.db.RowMutationSerializer.deserialize(RowMutation.java:276)
>         at 
> org.apache.cassandra.db.RowMutationVerbHandler.doVerb(RowMutationVerbHandler.java:59)
>         at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:39)
>         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:619)
>  INFO [ROW-MUTATION-STAGE:90] 2009-09-26 18:57:03,183 ColumnFamilyStore.java 
> (line 367) TermVectors has reached its threshold; switching in a fresh 
> Memtable
>  INFO [R

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to