Details
Description
CellComparator.compareStatic(Cell a, Cell b) compares type wrongly.
//type c = (0xff & a.getTypeByte()) - (0xff & b.getTypeByte()); if (c != 0) return c;
In the normal case it should be the other way
// Compare types. Let the delete types sort ahead of puts; i.e. types // of higher numbers sort before those of lesser numbers. Maximum (255) // appears ahead of everything, and minimum (0) appears after // everything. return (0xff & rtype) - (0xff & ltype);
Found this issue while replacing KVComparator to use CellComparator.
mcorgan
Could you confirm this once? Currently PrefixTree code path uses this compareStatic method.