public class QueryMemoryManager extends Object implements org.apache.ignite.internal.processors.query.h2.H2MemoryTracker, org.apache.ignite.internal.processors.query.h2.ManagedGroupByDataFactory
| Modifier and Type | Field and Description |
|---|---|
static long |
DFLT_MEMORY_RESERVATION_BLOCK_SIZE
Default memory reservation block size.
|
static String |
DISK_SPILL_DIR
Spill directory path.
|
| Constructor and Description |
|---|
QueryMemoryManager(GridKernalContext ctx)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
void |
cleanSpillDirectory()
Cleans spill directory.
|
void |
close() |
boolean |
closed() |
org.apache.ignite.internal.processors.query.h2.H2MemoryTracker |
createChildTracker() |
<T> ExternalResultData<T> |
createExternalData(org.gridgain.internal.h2.engine.Session ses,
boolean useHashIdx,
long initSize,
Class<T> cls)
Creates external data (offload file wrapper).
|
GroupedExternalResult |
createGroupedExternalResult(org.gridgain.internal.h2.engine.Session ses,
int size) |
org.gridgain.internal.h2.result.ResultExternal |
createPlainExternalResult(org.gridgain.internal.h2.engine.Session ses) |
GridQueryMemoryMetricProvider |
createQueryMemoryTracker(long maxQryMemory)
Query memory tracker factory method.
|
org.gridgain.internal.h2.result.ResultExternal |
createSortedExternalResult(org.gridgain.internal.h2.engine.Session ses,
boolean distinct,
int[] distinctIndexes,
int visibleColCnt,
org.gridgain.internal.h2.result.SortOrder sort,
int rowCnt) |
long |
freeMemory() |
long |
getGlobalQuota() |
String |
getGlobalQuotaInOriginalNotation() |
long |
getQueryQuota() |
String |
getQueryQuotaStrinInOriginalNotation() |
long |
globalQuota() |
void |
incrementFilesCreated() |
boolean |
isOffloadingEnabled() |
IgniteLogger |
log() |
long |
memoryLimit() |
org.gridgain.internal.h2.command.dml.GroupByData |
newManagedGroupByData(org.gridgain.internal.h2.engine.Session ses,
ArrayList<org.gridgain.internal.h2.expression.Expression> expressions,
boolean isGrpQry,
int[] grpIdx) |
void |
onChildClosed(org.apache.ignite.internal.processors.query.h2.H2MemoryTracker child) |
boolean |
onQuotaExceeded(long size)
Action when quota is exceeded.
|
void |
release(long size) |
boolean |
reserve(long size) |
long |
reserved() |
void |
setGlobalQuota(String newGlobalQuota)
Sets new global query quota.
|
void |
setOffloadingEnabled(boolean offloadingEnabled)
Sets offloading enabled flag.
|
void |
setQueryQuota(String newQryQuota)
Sets new per-query quota.
|
void |
spill(long size) |
long |
totalWrittenOnDisk() |
void |
unspill(long size) |
long |
writtenOnDisk() |
public static final String DISK_SPILL_DIR
public static final long DFLT_MEMORY_RESERVATION_BLOCK_SIZE
public QueryMemoryManager(GridKernalContext ctx)
ctx - Kernal context.public boolean reserve(long size)
reserve in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic void release(long size)
release in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic GridQueryMemoryMetricProvider createQueryMemoryTracker(long maxQryMemory)
qryQuota will be used.maxQryMemory - Query memory limit in bytes.public boolean onQuotaExceeded(long size)
false if it is needed to offload data.public void setGlobalQuota(String newGlobalQuota)
newGlobalQuota - New global query quota.public long getGlobalQuota()
public String getGlobalQuotaInOriginalNotation()
public void setQueryQuota(String newQryQuota)
newQryQuota - New per-query quota.public long getQueryQuota()
public String getQueryQuotaStrinInOriginalNotation()
public void setOffloadingEnabled(boolean offloadingEnabled)
offloadingEnabled - Offloading enabled flag.public boolean isOffloadingEnabled()
public long reserved()
reserved in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic long memoryLimit()
public long freeMemory()
public void spill(long size)
spill in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic void unspill(long size)
unspill in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic void close()
close in interface AutoCloseableclose in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic void incrementFilesCreated()
incrementFilesCreated in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic org.apache.ignite.internal.processors.query.h2.H2MemoryTracker createChildTracker()
createChildTracker in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic long writtenOnDisk()
writtenOnDisk in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic long totalWrittenOnDisk()
totalWrittenOnDisk in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic void onChildClosed(org.apache.ignite.internal.processors.query.h2.H2MemoryTracker child)
onChildClosed in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic boolean closed()
closed in interface org.apache.ignite.internal.processors.query.h2.H2MemoryTrackerpublic long globalQuota()
public IgniteLogger log()
public void cleanSpillDirectory()
public org.gridgain.internal.h2.command.dml.GroupByData newManagedGroupByData(org.gridgain.internal.h2.engine.Session ses,
ArrayList<org.gridgain.internal.h2.expression.Expression> expressions,
boolean isGrpQry,
int[] grpIdx)
newManagedGroupByData in interface org.apache.ignite.internal.processors.query.h2.ManagedGroupByDataFactorypublic org.gridgain.internal.h2.result.ResultExternal createPlainExternalResult(org.gridgain.internal.h2.engine.Session ses)
ses - Session.public org.gridgain.internal.h2.result.ResultExternal createSortedExternalResult(org.gridgain.internal.h2.engine.Session ses,
boolean distinct,
int[] distinctIndexes,
int visibleColCnt,
org.gridgain.internal.h2.result.SortOrder sort,
int rowCnt)
ses - Session.distinct - Distinct flag.distinctIndexes - Distinct indexes.visibleColCnt - Visible columns count.sort - Sort order.rowCnt - Row count.public GroupedExternalResult createGroupedExternalResult(org.gridgain.internal.h2.engine.Session ses, int size)
ses - Session.size - Size;public <T> ExternalResultData<T> createExternalData(org.gridgain.internal.h2.engine.Session ses, boolean useHashIdx, long initSize, Class<T> cls)
T - Type of stored values.ses - Session.useHashIdx - Flag whether to use hash index.initSize - Initial size.cls - Class of stored values.
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 8.9.17-p1 Release Date : November 27 2025