Package com.illumon.iris.db.v2.dataindex
Class DiskBackedDeferredGroupingProvider<DATA_TYPE>
java.lang.Object
com.illumon.iris.db.v2.dataindex.MemoizingGroupingProvider
com.illumon.iris.db.v2.dataindex.DiskBackedDeferredGroupingProvider<DATA_TYPE>
- All Implemented Interfaces:
GroupingProvider
,KeyRangeGroupingProvider
public class DiskBackedDeferredGroupingProvider<DATA_TYPE>
extends MemoizingGroupingProvider
implements KeyRangeGroupingProvider
Grouping provider that loads column location metadata and assembles grouping indexes lazily on demand.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDiskBackedDeferredGroupingProvider
(com.illumon.dataobjects.ColumnDefinition<DATA_TYPE> columnDefinition, com.fishlib.io.logger.Logger log) -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSource
(ColumnLocation columnLocation, long firstKey, long lastKey) Add a column location for consideration when constructing groupings.Get aGroupingBuilder
suitable for creating groups with specific properties.boolean
Check if this provider is able to create a grouping for all included regions or not.boolean
hasGrouping
(ReadOnlyIndex relevantIndex) Check if this provider is able to create a grouping for all included regions or not.Methods inherited from class com.illumon.iris.db.v2.dataindex.MemoizingGroupingProvider
clearMemoizedGroupings, memoizeGrouping
-
Field Details
-
THREADPOOL_SIZE
public static final int THREADPOOL_SIZE -
GROUPING_POOL
-
-
Constructor Details
-
DiskBackedDeferredGroupingProvider
public DiskBackedDeferredGroupingProvider(@NotNull com.illumon.dataobjects.ColumnDefinition<DATA_TYPE> columnDefinition, @NotNull com.fishlib.io.logger.Logger log)
-
-
Method Details
-
addSource
Description copied from interface:KeyRangeGroupingProvider
Add a column location for consideration when constructing groupings.- Specified by:
addSource
in interfaceKeyRangeGroupingProvider
- Parameters:
columnLocation
- The column location to addfirstKey
- The first key in the range for this column locationlastKey
- The last key in the range for this column location (inclusive)
-
getGroupingBuilder
Description copied from interface:GroupingProvider
Get aGroupingBuilder
suitable for creating groups with specific properties.- Specified by:
getGroupingBuilder
in interfaceGroupingProvider
- Returns:
- a
GroupingBuilder
-
hasGrouping
public boolean hasGrouping()Description copied from interface:GroupingProvider
Check if this provider is able to create a grouping for all included regions or not.- Specified by:
hasGrouping
in interfaceGroupingProvider
- Returns:
- true if this provider can create a grouping.
-
hasGrouping
Description copied from interface:GroupingProvider
Check if this provider is able to create a grouping for all included regions or not.- Specified by:
hasGrouping
in interfaceGroupingProvider
- Returns:
- true if this provider can create a grouping.
-