MANISH ZOPE
MANISH ZOPE

Reputation: 1201

Cassandra compaction on few nodes Compaction throws ColumnSerializer CorruptColumnException

In my cassandra cluster few of the nodes give following error when I trigger the compaction. Is there any solution on this?

Caused by: java.io.IOError: org.apache.cassandra.db.ColumnSerializer$CorruptColumnException: invalid column name length 0
        at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:179)
        at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:42)
        at org.apache.commons.collections.iterators.CollatingIterator.set(CollatingIterator.java:284)
        at org.apache.commons.collections.iterators.CollatingIterator.least(CollatingIterator.java:326)
        at org.apache.commons.collections.iterators.CollatingIterator.next(CollatingIterator.java:230)
        at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:69)
        at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
        at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
        at com.google.common.collect.Iterators$7.computeNext(Iterators.java:614)
        at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
        at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
        at org.apache.cassandra.db.ColumnIndexer.serializeInternal(ColumnIndexer.java:76)
        at org.apache.cassandra.db.ColumnIndexer.serialize(ColumnIndexer.java:50)
        at org.apache.cassandra.db.compaction.LazilyCompactedRow.<init>(LazilyCompactedRow.java:86)
        at org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:138)
        at org.apache.cassandra.db.compaction.CompactionIterator.getReduced(CompactionIterator.java:123)
        at org.apache.cassandra.db.compaction.CompactionIterator.getReduced(CompactionIterator.java:43)
        at org.apache.cassandra.utils.ReducingIterator.computeNext(ReducingIterator.java:74)
        at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:140)
        at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:135)
        at org.apache.commons.collections.iterators.FilterIterator.setNextObject(FilterIterator.java:183)
        at org.apache.commons.collections.iterators.FilterIterator.hasNext(FilterIterator.java:94)
        at org.apache.cassandra.db.compaction.CompactionManager.doCompactionWithoutSizeEstimation(CompactionManager.java:569)
        at org.apache.cassandra.db.compaction.CompactionManager.doCompaction(CompactionManager.java:506)
        at org.apache.cassandra.db.compaction.CompactionManager$4.call(CompactionManager.java:319)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        ... 3 more
Caused by: org.apache.cassandra.db.ColumnSerializer$CorruptColumnException: invalid column name length 0
        at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:89)
        at org.apache.cassandra.db.ColumnSerializer.deserialize(ColumnSerializer.java:36)
        at org.apache.cassandra.io.sstable.SSTableIdentityIterator.next(SSTableIdentityIterator.java:172)

Thanks Manish

Upvotes: 0

Views: 305

Answers (1)

jbellis
jbellis

Reputation: 19377

Run nodetool scrub, upgrade to the latest Cassandra version in your release series, and check for bad memory.

Upvotes: 1

Related Questions