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

Jignesh Dhruv updated CASSANDRA-1130:
-------------------------------------

    Attachment: TestSuperColumnTTL.java

Hello,

I am still able to reproduce the problem consistently. I have attached my JUNIT 
Test case which reproduces it 1 out of 3 times.

Streps to Reproduce:
- Run it until it inserts atleaset 200000 records or until you see a "Deleted 
files" message on your console.
- Stop cassandra while the data is still coming in.
- Start Cassandra and you should get exceptions.

If you do not get exceptions, without deleting the index repeat the above steps.

Let me know if you are able to reproduce the problem.

Thanks,
Jignesh

> Cassandra throws Exceptions at startup when using TTL in SuperColumns
> ---------------------------------------------------------------------
>
>                 Key: CASSANDRA-1130
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1130
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 0.7
>            Reporter: Jignesh Dhruv
>            Assignee: Sylvain Lebresne
>             Fix For: 0.7
>
>         Attachments: TestSuperColumnTTL.java, TestSuperColumnTTL.java
>
>
> Hello,
> I am trying to use TTL (timeToLive) feature in SuperColumns.
> My usecase is:
> - I have a SuperColumn and 3 subcolumns.
> - I try to expire data after 60 seconds.
> While Cassandra is up and running, I am successfully able to push and read 
> data without any problems. Data compaction and all occurs fine. After 
> inserting say about 100000 records, I stop Cassandra while data is still 
> coming.
> On startup Cassandra throws an exception and won't start up. (This happens 1 
> in every 3 times). Exception varies like:
> - EOFException while reading data
> - negative value encountered exception
> - Heap Space Exception
> Cassandra simply won't start up.
> Again I get this problem only when I use TTL with SuperColumns. There are no 
> issues with using TTL with regular Columns.
> I tried to diagnose the problem and it seems to happen on startup when it 
> sees a Column that is marked Deleted and its trying to read data. Its off by 
> some bytes and hence all these exceptions.
> Caused by: java.io.IOException: Corrupt (negative) value length encountered
>         at 
> org.apache.cassandra.utils.FBUtilities.readByteArray(FBUtilities.java:317)
>         at 
> org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:84)
>         at 
> org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:336)
>         at 
> org.apache.cassandra.db.SuperColumnSerializer.deserialize(SuperColumn.java:285)
>         at 
> org.apache.cassandra.db.filter.SSTableSliceIterator$ColumnGroupReader.getNextBlock(SSTableSliceIterator.java:235)
>         at 
> org.apache.cassandra.db.filter.SSTableSliceIterator$ColumnGroupReader.pollColumn(SSTableSliceIterator.java:195)
>         ... 18 more
> Let me know if you need more information.
> Thanks,
> Jignesh

-- 
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