Thanks to your reply, this problem has been solved.
I was making a mistake which uses AbstractType of a version 1.2.9.

2013/9/6 Dave Brosius <>
I think your class is missing a required

public TypeSerializer<Void> getSerializer() {}


This is what you need to derive from;a=blob;f=src/java/org/apache/cassandra/db/marshal/;h=74fe446319c199433b47d3ae60fc4d644e86b653;hb=03045ca22b11b0e5fc85c4fabd83ce6121b5709b

On 09/04/2013 09:14 AM, Katsutoshi wrote:
package my.marshal;

import java.nio.ByteBuffer;

import org.apache.cassandra.db.marshal.AbstractType;
import org.apache.cassandra.db.marshal.MarshalException;
import org.apache.cassandra.utils.ByteBufferUtil;

public class DummyType extends AbstractType<Void> {

    public static final DummyType instance = new DummyType();

    private DummyType(){

    public Void compose(ByteBuffer bytes){
        return null;

    public ByteBuffer decompose(Void value){
        return ByteBufferUtil.EMPTY_BYTE_BUFFER;

    public int compare(ByteBuffer o1, ByteBuffer o2){
        return 0;

    public String getString(ByteBuffer bytes){
        return "";

    public ByteBuffer fromString(String source) throws MarshalException{
        if(!source.isEmpty()) throw new MarshalException(String.format("'%s' is not empty", source));
        return ByteBufferUtil.EMPTY_BYTE_BUFFER;

    public void validate(ByteBuffer bytes) throws MarshalException{