There is a write in the commit log that has an invalid row key. The logs will say which file it was replaying, try removing that and restarting it.
What client were you using to write to the cluster? What are you using for the keys ? Note: this could result in data loss on the one node because writes in the commit log may not be committed to sstables. If you have been using QUOURM / QUOURM this should not be a problem. > at > org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:170) If you are just starting out I strongly encourage you to use the RandomPartitioner rather than the OderPreservingPartitioner. Cheers ----------------- Aaron Morton Freelance Cassandra Consultant New Zealand @aaronmorton http://www.thelastpickle.com On 19/03/2013, at 4:22 PM, 杨辉强 <huiqiangy...@yunrang.com> wrote: > Hi, all: > > I am a beginner of cassandra. I have a four node cassandra group. > One of my cassandra group node had been running for a week. Recently > because of too much writing and reading, it crashed. > I want to restart the node. > While I start up cassandra, it ends up with throwing exception as follow > every time: > java.lang.RuntimeException: The provided key was not UTF8 encoded. > at > org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:170) > at > org.apache.cassandra.dht.OrderPreservingPartitioner.decorateKey(OrderPreservingPartitioner.java:42) > at org.apache.cassandra.db.Table.apply(Table.java:380) > at org.apache.cassandra.db.Table.apply(Table.java:354) > at > org.apache.cassandra.db.commitlog.CommitLogReplayer$1.runMayThrow(CommitLogReplayer.java:260) > at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) > 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) > > I have googled and read the archive. But I can't find answer, please help > me. Thank you very much. >