Alex Liu created CASSANDRA-4378:
-----------------------------------

             Summary: MalformedInputException running cleanup on solr KS 
'Logging', we should catch the exception
                 Key: CASSANDRA-4378
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-4378
             Project: Cassandra
          Issue Type: Bug
    Affects Versions: 1.1.0, 1.0.10, 1.0.9, 1.0.8
            Reporter: Alex Liu
             Fix For: 1.1.2


The following occurred on 10 node cluster which we were running rebalance. Nick 
said it appeared to be related to running cleanup on a solr secondary index cf, 
and with this cluster it occurs when running cleanup on the Logging KS. Please 
note that we did run the solr_logging demo on this data prior to cleanup.

The exception java.nio.charset.MalformedInputException: Input length = 1 is 
caused by incompatible data format.

It comes from doCleanupCompaction method of CompactionManager.java from C*

try
{ cfs.indexManager.deleteFromIndexes(row.getKey(), indexedColumnsInRow); }

finally
{ Table.switchLock.readLock().unlock(); }

it looks like something wrong with the key data in row.getKey()

ERROR [CompactionExecutor:7] 2012-04-05 03:13:11,550 
AbstractCassandraDaemon.java (line 139) Fatal exception in thread 
Thread[CompactionExecutor:7,1,main]
java.lang.RuntimeException: java.nio.charset.MalformedInputException: Input 
length = 1
        at 
com.datastax.bdp.cassandra.index.solr.SolrSecondaryIndex.deleteFromIndex(SolrSecondaryIndex.java:412)
        at 
org.apache.cassandra.db.index.SecondaryIndexManager.deleteFromIndexes(SecondaryIndexManager.java:488)
        at 
org.apache.cassandra.db.compaction.CompactionManager.doCleanupCompaction(CompactionManager.java:759)
        at 
org.apache.cassandra.db.compaction.CompactionManager.access$300(CompactionManager.java:64)
        at 
org.apache.cassandra.db.compaction.CompactionManager$5.perform(CompactionManager.java:242)
        at 
org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:183)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        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)
Caused by: java.nio.charset.MalformedInputException: Input length = 1
        at java.nio.charset.CoderResult.throwException(CoderResult.java:260)
        at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:781)
        at 
org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:164)
        at 
org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:121)
        at 
com.datastax.bdp.cassandra.index.solr.SolrSecondaryIndex.deleteFromIndex(SolrSecondaryIndex.java:405)
        ... 10 more

Can we catch the exception here, so the program can continue running.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to