Index: src/main/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java =================================================================== --- src/main/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java (revision 987926) +++ src/main/java/org/apache/hadoop/hbase/io/HbaseObjectWritable.java (working copy) @@ -159,7 +159,6 @@ addToMap(WritableByteArrayComparable.class, code++); addToMap(FirstKeyOnlyFilter.class, code++); addToMap(DependentColumnFilter.class, code++); - addToMap(ColumnPrefixFilter.class, code++); addToMap(Delete [].class, code++); @@ -172,6 +171,7 @@ // List addToMap(List.class, code++); + addToMap(ColumnPrefixFilter.class, code++); } private Class declaredClass; @@ -450,13 +450,19 @@ try { instanceClass = getClassByName(conf, className); } catch (ClassNotFoundException e) { - throw new RuntimeException("Can't find class " + className); + LOG.error("Can't find class " + className, e); + throw new IOException("Can't find class " + className, e); } } else { instanceClass = CODE_TO_CLASS.get(b); } Writable writable = WritableFactories.newInstance(instanceClass, conf); - writable.readFields(in); + try { + writable.readFields(in); + } catch (Exception e) { + LOG.error("Error in readFields", e); + throw new IOException("Error in readFields" , e); + } instance = writable; if (instanceClass == NullInstance.class) { // null declaredClass = ((NullInstance)instance).declaredClass;