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

Joshua McKenzie updated CASSANDRA-8192:
---------------------------------------
    Attachment: 8192_v1.txt

Looking at the raw data on these files, in both cases on the attached their 
file size is similar to the others however they are filled with 0's, meaning 
none of the parameters that CompressionMetadata needs to pull out are correctly 
set.  This worked fine on 2.0.10 as we didn't query the chunkOffsetsSize during 
the constructor and only queried that data lazily - we changed our behavior to 
storing it at construction for CASSANDRA-6916.

On 2.0.10, a simple "select * from sstable_activity" should get you an 
exception that would uncover that you have corrupt data.

Attaching a patch for 2.1 to check for 0 chunks in a compressed file and throw 
an IOException if that's encountered.

> AssertionError in Memory.java
> -----------------------------
>
>                 Key: CASSANDRA-8192
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-8192
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Core
>         Environment: Windows-7-32 bit, 3GB RAM, Java 1.7.0_67
>            Reporter: Andreas Schnitzerling
>            Assignee: Joshua McKenzie
>             Fix For: 2.1.3
>
>         Attachments: 8192_v1.txt, cassandra.bat, cassandra.yaml, 
> logdata-onlinedata-ka-196504-CompressionInfo.zip, printChunkOffsetErrors.txt, 
> system-compactions_in_progress-ka-47594-CompressionInfo.zip, 
> system-sstable_activity-jb-25-Filter.zip, system.log, system_AssertionTest.log
>
>
> Since update of 1 of 12 nodes from 2.1.0-rel to 2.1.1-rel Exception during 
> start up.
> {panel:title=system.log}
> ERROR [SSTableBatchOpen:1] 2014-10-27 09:44:00,079 CassandraDaemon.java:153 - 
> Exception in thread Thread[SSTableBatchOpen:1,5,main]
> java.lang.AssertionError: null
>       at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.compress.CompressionMetadata.<init>(CompressionMetadata.java:135)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.compress.CompressionMetadata.create(CompressionMetadata.java:83)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.util.CompressedSegmentedFile$Builder.metadata(CompressedSegmentedFile.java:50)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.util.CompressedPoolingSegmentedFile$Builder.complete(CompressedPoolingSegmentedFile.java:48)
>  ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:766) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.sstable.SSTableReader.load(SSTableReader.java:725) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:402) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:302) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at 
> org.apache.cassandra.io.sstable.SSTableReader$4.run(SSTableReader.java:438) 
> ~[apache-cassandra-2.1.1.jar:2.1.1]
>       at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
> ~[na:1.7.0_55]
>       at java.util.concurrent.FutureTask.run(Unknown Source) ~[na:1.7.0_55]
>       at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
> [na:1.7.0_55]
>       at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
> [na:1.7.0_55]
>       at java.lang.Thread.run(Unknown Source) [na:1.7.0_55]
> {panel}
> In the attached log you can still see as well CASSANDRA-8069 and 
> CASSANDRA-6283.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to