In Key.java, I see this:
public Text getColumnFamily(Text cf) {
cf.set(colFamily, 0, colFamily.length);
return cf;
}
public Text getColumnFamily() {
return getColumnFamily(new Text());
}
in TabletServerBatchDeleter, I see this:
Mutation m = new Mutation(k.getRow());
m.putDelete(k.getColumnFamily(), k.getColumnQualifier(), new
ColumnVisibility(k.getColumnVisibility()), k.getTimestamp());
The change I recently committed would allow using byte arrays as
arguments to putDelete. It seems adding a method to Key like the
following would eliminate creating the Text object:
public byte[] getColumnFamilyAsBytes() {
byte[] buffer = new byte[colFamily.length];
System.arraycopy(colFamily, 0, buffer, 0, colFamily.length);
return buffer;
}
I don't want to head down a twisty windy path removing Text objects
but does it make sense to reduce reliance on them?