Details
-
Type:
Sub-task
-
Status: Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 0.14.1
-
Fix Version/s: None
-
Component/s: HBase Module
-
Labels:None
Description
The HBase DaoView class has the following code to instantiate a writer:
EntityScanner<E> newEntityScanner() { PartitionStrategy partitionStrategy = dataset.getDescriptor().getPartitionStrategy(); Iterable<MarkerRange> markerRanges = constraints.toKeyRanges(partitionStrategy); // TODO: combine all ranges into a single reader MarkerRange range = Iterables.getOnlyElement(markerRanges); // <------ assumes only one range return dataset.getDao().getScanner( toPartitionKey(range.getStart()), range.getStart().isInclusive(), toPartitionKey(range.getEnd()), range.getEnd().isInclusive()); }
The code assumes that the constraints will convert to only one range, but it is easy to create a view that will have more than one. For example, using any with constraint that has more than one match will produce multiple ranges.