Using a scanner constructed like:
ResultScanner scanner = table.getIndexedScanner(indexId, indexKey, null, null,
null, baseColumns.toArray(new byte[baseColumns.size()][]));
Doing result.getValue for any field returned null. I confirmed the values were in the result by walking the map from getNoVersionMap.
Commenting out:
for (KeyValue indexKV : row.list()) {
if (indexKV.matchingFamily(INDEX_COL_FAMILY)) {
continue;
}
results.add(new KeyValue(baseRow, indexKV.getFamily(), indexKV.getQualifier(), indexKV
.getTimestamp(), KeyValue.Type.Put, indexKV.getValue()));
}
from IndexedTable.java solved the problem. I think those are lines 188-194.
Using a scanner constructed like: ResultScanner scanner = table.getIndexedScanner(indexId, indexKey, null, null, null, baseColumns.toArray(new byte[baseColumns.size()][]));
Doing result.getValue for any field returned null. I confirmed the values were in the result by walking the map from getNoVersionMap.
Commenting out: for (KeyValue indexKV : row.list()) { if (indexKV.matchingFamily(INDEX_COL_FAMILY)) { continue; } results.add(new KeyValue(baseRow, indexKV.getFamily(), indexKV.getQualifier(), indexKV .getTimestamp(), KeyValue.Type.Put, indexKV.getValue())); } from IndexedTable.java solved the problem. I think those are lines 188-194.