|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectmondrian.rolap.cache.SegmentCacheIndexImpl
public class SegmentCacheIndexImpl
Data structure that identifies which segments contain cells.
Not thread safe.
| Constructor Summary | |
|---|---|
SegmentCacheIndexImpl(Thread thread)
Creates a SegmentCacheIndexImpl. |
|
| Method Summary | |
|---|---|
void |
add(SegmentHeader header,
boolean loading,
SegmentBuilder.SegmentConverter converter)
Adds a header to the index. |
List<List<SegmentHeader>> |
findRollupCandidates(String schemaName,
ByteString schemaChecksum,
String cubeName,
String measureName,
String rolapStarFactTableName,
BitKey constrainedColsBitKey,
Map<String,Comparable> coordinates,
List<String> compoundPredicates)
Returns a list of segments that can be rolled up to satisfy a given cell request. |
SegmentBuilder.SegmentConverter |
getConverter(String schemaName,
ByteString schemaChecksum,
String cubeName,
String rolapStarFactTableName,
String measureName,
List<String> compoundPredicates)
Returns a converter that can convert the given header to internal format. |
Future<SegmentBody> |
getFuture(SegmentHeader header)
Returns a future slot for a segment body, if a segment is currently loading, otherwise null. |
List<SegmentHeader> |
intersectRegion(String schemaName,
ByteString schemaChecksum,
String cubeName,
String measureName,
String rolapStarFactTableName,
SegmentColumn[] region)
Finds a list of headers that intersect a given region. |
void |
loadFailed(SegmentHeader header,
Throwable throwable)
Notifies the segment index that a segment failed to load, and removes the segment from the index. |
void |
loadSucceeded(SegmentHeader header,
SegmentBody body)
Changes the state of a header from loading to loaded. |
List<SegmentHeader> |
locate(String schemaName,
ByteString schemaChecksum,
String cubeName,
String measureName,
String rolapStarFactTableName,
BitKey constrainedColsBitKey,
Map<String,Comparable> coordinates,
List<String> compoundPredicates)
Identifies the segment headers that contain a given cell. |
static List |
makeConverterKey(CellRequest request,
AggregationKey key)
|
static List |
makeConverterKey(SegmentHeader header)
|
static boolean |
matches(SegmentHeader header,
Map<String,Comparable> coords,
List<String> compoundPredicates)
|
void |
printCacheState(PrintWriter pw)
Prints the state of the cache to the given writer. |
void |
remove(SegmentHeader header)
Removes a header from the index. |
void |
setConverter(String schemaName,
ByteString schemaChecksum,
String cubeName,
String rolapStarFactTableName,
String measureName,
List<String> compoundPredicates,
SegmentBuilder.SegmentConverter converter)
Sets a converter that can convert headers in for a given measure to internal format. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public SegmentCacheIndexImpl(Thread thread)
thread - Thread that must be used to execute commands.| Method Detail |
|---|
public static List makeConverterKey(SegmentHeader header)
public static List makeConverterKey(CellRequest request,
AggregationKey key)
public List<SegmentHeader> locate(String schemaName,
ByteString schemaChecksum,
String cubeName,
String measureName,
String rolapStarFactTableName,
BitKey constrainedColsBitKey,
Map<String,Comparable> coordinates,
List<String> compoundPredicates)
SegmentCacheIndex
locate in interface SegmentCacheIndexschemaName - Schema nameschemaChecksum - Schema checksumcubeName - Cube namemeasureName - Measure namerolapStarFactTableName - Fact table tableconstrainedColsBitKey - Bit keycoordinates - CoordinatescompoundPredicates - Compound predicates
public void add(SegmentHeader header,
boolean loading,
SegmentBuilder.SegmentConverter converter)
SegmentCacheIndexIf loading is true, there must follow a call to
SegmentCacheIndex.loadSucceeded(mondrian.spi.SegmentHeader, mondrian.spi.SegmentBody) or SegmentCacheIndex.loadFailed(mondrian.spi.SegmentHeader, java.lang.Throwable).
add in interface SegmentCacheIndexheader - Segment headerloading - Whether segment is pending a load from SQLconverter - Segment converter
public void loadSucceeded(SegmentHeader header,
SegmentBody body)
SegmentCacheIndexThe segment must have previously been added by calling SegmentCacheIndex.add(mondrian.spi.SegmentHeader, boolean, mondrian.rolap.agg.SegmentBuilder.SegmentConverter)
with a not-null value of the bodyFuture parameter;
neither loadSucceeded nor SegmentCacheIndex.loadFailed(mondrian.spi.SegmentHeader, java.lang.Throwable) must have been
called.
Informs anyone waiting on the future supplied with
SegmentCacheIndex.add(mondrian.spi.SegmentHeader, boolean, mondrian.rolap.agg.SegmentBuilder.SegmentConverter).
loadSucceeded in interface SegmentCacheIndexheader - Segment headerbody - Segment body
public void loadFailed(SegmentHeader header,
Throwable throwable)
SegmentCacheIndexThe segment must have previously been added using SegmentCacheIndex.add(mondrian.spi.SegmentHeader, boolean, mondrian.rolap.agg.SegmentBuilder.SegmentConverter)
with a not-null value of the bodyFuture parameter;
neither SegmentCacheIndex.loadSucceeded(mondrian.spi.SegmentHeader, mondrian.spi.SegmentBody) nor loadFailed must have been
called.
Informs anyone waiting on the future supplied with
SegmentCacheIndex.add(mondrian.spi.SegmentHeader, boolean, mondrian.rolap.agg.SegmentBuilder.SegmentConverter).
loadFailed in interface SegmentCacheIndexheader - Headerthrowable - Error messagepublic void remove(SegmentHeader header)
SegmentCacheIndex
remove in interface SegmentCacheIndexheader - Segment header
public static boolean matches(SegmentHeader header,
Map<String,Comparable> coords,
List<String> compoundPredicates)
public List<SegmentHeader> intersectRegion(String schemaName,
ByteString schemaChecksum,
String cubeName,
String measureName,
String rolapStarFactTableName,
SegmentColumn[] region)
SegmentCacheIndexThis method is used to find out which headers need to be trimmed or removed during a flush.
intersectRegion in interface SegmentCacheIndexschemaName - Schema nameschemaChecksum - Schema checksumcubeName - Cube namemeasureName - Measure namerolapStarFactTableName - Fact table tableregion - Region
public void printCacheState(PrintWriter pw)
SegmentCacheIndex
printCacheState in interface SegmentCacheIndexpw - Print writerpublic Future<SegmentBody> getFuture(SegmentHeader header)
SegmentCacheIndex
getFuture in interface SegmentCacheIndexheader - Segment header
public SegmentBuilder.SegmentConverter getConverter(String schemaName,
ByteString schemaChecksum,
String cubeName,
String rolapStarFactTableName,
String measureName,
List<String> compoundPredicates)
SegmentCacheIndex
getConverter in interface SegmentCacheIndexschemaName - Schema nameschemaChecksum - Schema checksumcubeName - Cube namerolapStarFactTableName - Fact tablemeasureName - Measure namecompoundPredicates - Compound predicates
public void setConverter(String schemaName,
ByteString schemaChecksum,
String cubeName,
String rolapStarFactTableName,
String measureName,
List<String> compoundPredicates,
SegmentBuilder.SegmentConverter converter)
SegmentCacheIndex
setConverter in interface SegmentCacheIndexschemaName - Schema nameschemaChecksum - Schema checksumcubeName - Cube namerolapStarFactTableName - Fact tablemeasureName - Measure namecompoundPredicates - Compound predicatesconverter - Converter to store
public List<List<SegmentHeader>> findRollupCandidates(String schemaName,
ByteString schemaChecksum,
String cubeName,
String measureName,
String rolapStarFactTableName,
BitKey constrainedColsBitKey,
Map<String,Comparable> coordinates,
List<String> compoundPredicates)
SegmentCacheIndex
findRollupCandidates in interface SegmentCacheIndexschemaName - Schema nameschemaChecksum - Schema checksumcubeName - Cube namemeasureName - Measure namerolapStarFactTableName - Fact table tableconstrainedColsBitKey - Bit keycoordinates - CoordinatescompoundPredicates - Compound predicates
|
|
||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||