Source:
<code>private List<String> _getUniqueFastScan(MetricSchemaRecordQuery query, final int limit, final RecordType type) { requireNotDisposed(); SystemAssert.requireArgument(RecordType.METRIC.equals(type) || RecordType.SCOPE.equals(type), "This method is only for use with metric or scope."); final List<String> result = new ArrayList<>(); final ScanMetadata metadata = _constructScanMetadata(query); String namespace = _convertToRegex(query.getNamespace()); String scope = _convertToRegex(query.getScope()); String metric = _convertToRegex(query.getMetric()); String tagKey = _convertToRegex(query.getTagKey()); String tagValue = _convertToRegex(query.getTagValue()); String rowKeyRegex = "^" + _constructRowKey(namespace, scope, metric, tagKey, tagValue, metadata.type) + "$"; List<ScanFilter> filters = new ArrayList<ScanFilter>(); filters.add(new RowFilter(CompareOp.EQUAL, new RegexStringComparator(rowKeyRegex))); filters.add(new KeyOnlyFilter()); filters.add(new FirstKeyOnlyFilter()); <START> FilterList fl = new FilterList(filters, FilterList.Operator.MUST_PASS_ALL); <END> String start = Bytes.toString(metadata.startRow); String end = Bytes.toString(metadata.stopRow); ArrayList<ArrayList<KeyValue>> rows = _getSingleRow(start, end, fl, metadata.type.getTableName()); while(rows != null && !rows.isEmpty()) { for(ArrayList<KeyValue> row : rows) { String rowKey = Bytes.toString(row.get(0).key()); result.add(rowKey.split(":")[0]); } if(result.size() == limit) { break; } rows = _getSingleRow(_plusOne(result.get(result.size() - 1)), end, fl, metadata.type.getTableName()); } return result; }</code><technical_language>Change var name filterList</technical_language>

Target:
private List<String> _getUniqueFastScan(MetricSchemaRecordQuery query, final int limit, final RecordType type) { requireNotDisposed(); SystemAssert.requireArgument(RecordType.METRIC.equals(type) || RecordType.SCOPE.equals(type), "This method is only for use with metric or scope."); final List<String> result = new ArrayList<>(); final ScanMetadata metadata = _constructScanMetadata(query); String namespace = _convertToRegex(query.getNamespace()); String scope = _convertToRegex(query.getScope()); String metric = _convertToRegex(query.getMetric()); String tagKey = _convertToRegex(query.getTagKey()); String tagValue = _convertToRegex(query.getTagValue()); String rowKeyRegex = "^" + _constructRowKey(namespace, scope, metric, tagKey, tagValue, metadata.type) + "$"; List<ScanFilter> filters = new ArrayList<ScanFilter>(); filters.add(new RowFilter(CompareOp.EQUAL, new RegexStringComparator(rowKeyRegex))); filters.add(new KeyOnlyFilter()); filters.add(new FirstKeyOnlyFilter()); FilterList filterList = new FilterList(filters, FilterList.Operator.MUST_PASS_ALL); String start = Bytes.toString(metadata.startRow); String end = Bytes.toString(metadata.stopRow); ArrayList<ArrayList<KeyValue>> rows = _getSingleRow(start, end, filterList, metadata.type.getTableName()); while(rows != null && !rows.isEmpty()) { for(ArrayList<KeyValue> row : rows) { String rowKey = Bytes.toString(row.get(0).key()); result.add(rowKey.split(":")[0]); } if(result.size() == limit) { break; } rows = _getSingleRow(_plusOne(result.get(result.size() - 1)), end, filterList, metadata.type.getTableName()); } return result; }